🔍 CVE-2026-89616

7.5
CVSS Score
HIGH
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ntfs3 파일 시스템에서 LZNT 압축 해제 과정 중 정보 유출 취약점이 발견되었습니다. 압축 해제된 데이터가 요청된 크기보다 작을 경우, 초기화되지 않은 커널 페이지 메모리 영역이 사용자 공간으로 노출될 수 있습니다. 이를 통해 공격자는 커널 포인터를 획득하여 KASLR(커널 주소 공간 레이아웃 임의화)을 무력화할 수 있습니다.

💡 쉬운 설명

특수하게 제작된 압축 파일을 읽을 때, 컴퓨터의 중요한 비밀 정보가 담긴 메모리 일부가 공격자에게 노출될 수 있는 문제입니다. 이 정보를 이용하면 해커가 시스템의 보안 방어막을 뚫고 커널을 공격하기 쉬워집니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: fix info-leak on partial LZNT decompress in ni_read_frame() ni_read_frame() decompresses an LZNT $DATA frame into the vmapped target pages and then trusts decompress_lznt()'s return value: unc_size = decompress_lznt(frame_ondisk, ondisk_size, frame_mem, frame_size); if ((ssize_t)unc_size < 0) err = unc_size; else if (!unc_size || unc_size > frame_size) err = -EINVAL; decompress_lznt() stops as soon as the compressed stream is exhausted (e.g. a zero chunk header) and returns the number of bytes it actually wrote, which may be far less than frame_size. The bytes between unc_size and frame_size are never written. The only memset() that follows zeroes the region beyond i_valid; when the frame lies entirely within the file's valid size that memset() does not run, so the gap retains whatever was in the just-vmapped pages. All pages are then marked uptodate and returned to userspace, disclosing uninitialized (recently-freed) kernel page memory. A crafted compressed file whose stream decompresses to only a few bytes leaks the remainder of every frame on a plain read(2), which is enough to recover kernel pointers and defeat KASLR. Zero the [unc_size, frame_size) tail immediately after a successful LZNT decompress so the remainder reads back as zero.

📍 영향받는 시스템

LZNT 압축 기능을 사용하는 Linux 커널 (ntfs3 드라이버 포함 버전)

⚔️ 공격 벡터

조작된 LZNT 압축 데이터가 포함된 NTFS 파일 시스템 파일을 read(2) 시스템 호출로 읽기

🛡️ 대응 방법

LZNT 압축 해제 직후 잔여 메모리 영역을 0으로 초기화하는 패치가 적용된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 보안 패치 버전 이후인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel