🇰🇷 한글 설명
Linux 커널의 exfat 파일 시스템에서 파일 시스템 손상으로 인해 클러스터 체인에 루프가 발생할 경우 무한 루프가 발생할 수 있는 취약점입니다. 디렉토리 엔트리 계산, 업케이스 테이블 생성, 비트맵 로드 및 디렉토리 탐색 과정에서 무한 루프가 발생하여 시스템 성능 저하나 중단을 초래할 수 있습니다.
💡 쉬운 설명
손상된 USB 메모리나 외장 하드를 연결했을 때, 컴퓨터가 파일 정보를 읽는 과정에서 끝없이 반복 계산을 수행하여 멈춰버릴 수 있는 문제입니다. 파일 시스템의 오류를 감지하고 루프를 끊어주는 보안 패치가 적용되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
exfat: add cluster chain loop check for dir
An infinite loop may occur if the following conditions occur due to
file system corruption.
(1) Condition for exfat_count_dir_entries() to loop infinitely.
- The cluster chain includes a loop.
- There is no UNUSED entry in the cluster chain.
(2) Condition for exfat_create_upcase_table() to loop infinitely.
- The cluster chain of the root directory includes a loop.
- There are no UNUSED entry and up-case table entry in the cluster
chain of the root directory.
(3) Condition for exfat_load_bitmap() to loop infinitely.
- The cluster chain of the root directory includes a loop.
- There are no UNUSED entry and bitmap entry in the cluster chain
of the root directory.
(4) Condition for exfat_find_dir_entry() to loop infinitely.
- The cluster chain includes a loop.
- The unused directory entries were exhausted by some operation.
(5) Condition for exfat_check_dir_empty() to loop infinitely.
- The cluster chain includes a loop.
- The unused directory entries were exhausted by some operation.
- All files and sub-directories under the directory are deleted.
This commit adds checks to break the above infinite loop.
📍 영향받는 시스템
exfat 파일 시스템을 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
손상되거나 조작된 exfat 파일 시스템이 탑재된 저장 매체를 시스템에 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 이후 버전인지 확인