🔍 CVE-2026-98136

7.1
CVSS Score
HIGH
2026-09-25
2026-10-19 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 NTFS 드라이버에서 $AttrDef 테이블을 탐색할 때 경계 검사가 불충분하여 발생하는 취약점입니다. 테이블의 엔트리 크기를 고려하지 않고 루프 조건을 설정함으로써, 할당된 메모리 범위를 벗어난 데이터를 읽는 Out-of-bounds Read가 발생할 수 있습니다.

💡 쉬운 설명

컴퓨터가 NTFS 형식의 저장 장치를 읽을 때, 데이터의 끝부분을 제대로 확인하지 못해 허용되지 않은 메모리 영역을 읽어버리는 문제입니다. 이로 인해 시스템 오류가 발생하거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ntfs: bound $AttrDef table walk to the loaded table size ntfs_attr_find_in_attrdef() walks the in-memory $AttrDef table, but the loop condition bounds only the start of each entry, not the whole entry: for (ad = vol->attrdef; (u8 *)ad - (u8 *)vol->attrdef < vol->attrdef_size && ad->type; ++ad) struct attr_def is 160 bytes; the guard reads ad->type at offset 128 and the loop body reads further fields. vol->attrdef is kvzalloc(i_size), where i_size is the on-disk $AttrDef data size, checked in load_and_init_attrdef() only as 0 < i_size <= 0x7fffffff. A volume whose $AttrDef data size is smaller than one entry (e.g. 120 bytes) makes the read of ad->type run past the allocation. Creating a file reaches this through ntfs_attr_size_bounds_check() and reads out of bounds: BUG: KASAN: slab-out-of-bounds in ntfs_attr_find_in_attrdef+0x66/0xa0 Read of size 4 at addr ffff888005833280 by task init/1 ntfs_attr_find_in_attrdef ntfs_attr_size_bounds_check ntfs_attr_can_be_non_resident ntfs_attr_add Require the whole entry to lie within attrdef_size in the loop guard, and reject at mount a $AttrDef too small to hold one attr_def entry.

📍 영향받는 시스템

Linux Kernel (NTFS driver module)

⚔️ 공격 벡터

조작된 $AttrDef 크기를 가진 NTFS 볼륨을 마운트하거나 파일을 생성하여 메모리 경계 밖의 데이터를 읽도록 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 $AttrDef 테이블 경계 검사 로직을 수정해야 함

🔧 검증 코드

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

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:N/A:H

💻 영향받는 소프트웨어

Linux Kernel