🇰🇷 한글 설명
Linux 커널 ext4 파일시스템의 디렉터리 엔트리에서 rec_len 필드가 4의 배수가 아닌 경우를 검증하지 않아, 손상된 파일시스템 이미지로 make_indexed_dir() 내 BUG()가 발생할 수 있습니다. 이 수정은 ext4_check_dir_entry()를 호출해 잘못된 엔트리를 검사하고 -EFSCORRUPTED를 반환하도록 합니다.
💡 쉬운 설명
손상된 ext4 파일시스템 이미지를 마운트하거나 접근하면 리눅스 커널이 비정상 종료될 수 있는 문제입니다. 신뢰할 수 없는 저장장치를 다루지 않는 환경이라면 실질적 위험은 낮습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix BUG_ON() when directory entry has invalid rec_len
The rec_len field in the directory entry has to be a multiple of 4. A
corrupted filesystem image can be used to hit a BUG() in
ext4_rec_len_to_disk(), called from make_indexed_dir().
------------[ cut here ]------------
kernel BUG at fs/ext4/ext4.h:2413!
...
RIP: 0010:make_indexed_dir+0x53f/0x5f0
...
Call Trace:
<TASK>
? add_dirent_to_buf+0x1b2/0x200
ext4_add_entry+0x36e/0x480
ext4_add_nondir+0x2b/0xc0
ext4_create+0x163/0x200
path_openat+0x635/0xe90
do_filp_open+0xb4/0x160
? __create_object.isra.0+0x1de/0x3b0
? _raw_spin_unlock+0x12/0x30
do_sys_openat2+0x91/0x150
__x64_sys_open+0x6c/0xa0
do_syscall_64+0x3c/0x80
entry_SYSCALL_64_after_hwframe+0x46/0xb0
The fix simply adds a call to ext4_check_dir_entry() to validate the
directory entry, returning -EFSCORRUPTED if the entry is invalid.
📍 영향받는 시스템
패치 이전의 Linux 커널(ext4 파일시스템 사용 시스템)
⚔️ 공격 벡터
조작된 ext4 파일시스템 이미지를 시스템에 마운트하거나 해당 이미지에서 파일 생성 작업을 유도하여 커널 패닉을 일으킴
🛡️ 대응 방법
배포판에서 제공하는 최신 커널 보안 업데이트를 적용하고 재부팅
🔧 검증 코드
출력된 커널 버전이 배포판 보안 공지에서 해당 CVE 수정이 포함된 버전 이상인지 비교하며, 수정 여부는 배포판 패키지 changelog로 확인합니다.
uname -r && (dpkg -l linux-image-$(uname -r) 2>/dev/null || rpm -q kernel 2>/dev/null)