🔍 CVE-2024-42304

7.8
CVSS Score
HIGH
2024-08-17
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ext4 파일 시스템에서 첫 번째 디렉토리 블록이 비어 있는(hole) 상태임에도 오류를 보고하지 않는 취약점이 발견되었습니다. 이로 인해 '.' 또는 '..' 항목이 없는 잘못된 디렉토리 블록이 로드될 수 있으며, 이는 시스템 크래시를 유발할 수 있습니다.

💡 쉬운 설명

파일을 저장하는 공간의 첫 부분에 데이터가 있어야 하는데, 데이터가 비어 있음에도 시스템이 이를 정상으로 착각하는 문제입니다. 이로 인해 컴퓨터 시스템이 갑자기 멈추거나 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ext4: make sure the first directory block is not a hole The syzbot constructs a directory that has no dirblock but is non-inline, i.e. the first directory block is a hole. And no errors are reported when creating files in this directory in the following flow. ext4_mknod ... ext4_add_entry // Read block 0 ext4_read_dirblock(dir, block, DIRENT) bh = ext4_bread(NULL, inode, block, 0) if (!bh && (type == INDEX || type == DIRENT_HTREE)) // The first directory block is a hole // But type == DIRENT, so no error is reported. After that, we get a directory block without '.' and '..' but with a valid dentry. This may cause some code that relies on dot or dotdot (such as make_indexed_dir()) to crash. Therefore when ext4_read_dirblock() finds that the first directory block is a hole report that the filesystem is corrupted and return an error to avoid loading corrupted data from disk causing something bad.

📍 영향받는 시스템

Linux kernel (ext4 파일 시스템을 사용하는 시스템)

⚔️ 공격 벡터

손상되거나 조작된 ext4 파일 시스템 이미지를 마운트하여 시스템 크래시 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel