🇰🇷 한글 설명
Linux 커널의 NTFS 드라이버에서 $INDEX_ROOT의 잔류 인덱스 루트 값을 검증하지 않아 발생하는 취약점입니다. 인덱스 헤더 필드의 정렬, 길이 및 할당된 크기의 일관성을 확인하지 못해 발생하며, 이를 통해 메모리 손상이나 시스템 불안정을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터의 파일 시스템(NTFS)을 읽을 때 데이터의 형식이 올바른지 확인하는 과정에 허점이 있는 보안 문제입니다. 잘못된 데이터가 들어올 경우 시스템이 오작동하거나 해킹 공격에 노출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ntfs: validate resident index root values on lookup
Resident $INDEX_ROOT values carry index header fields that callers
consume after lookup. Some callers already validate parts of the layout
before walking entries, but those checks are scattered and do not cover
all root header invariants, such as entries_offset alignment and lower
bound, index_length, and allocated_size consistency.
The resident root resize paths now keep these header fields consistent
while the value size changes: ntfs_ir_truncate() lowers
index.allocated_size before shrinking the resident value, and
ntfs_ir_reparent() grows the resident value before publishing a larger
root header. Lookup-time validation can therefore cover these invariants
without tripping over the driver's own resize paths.
Add $INDEX_ROOT to the minimum resident value size table and validate the
resident index header fields before returning the attribute from lookup.
Require 8-byte aligned index header fields, a sane entries_offset, an
index_length within allocated_size, allocated_size within the resident
value, and enough entry space for at least an index entry header.
The shared validator already rejects non-resident records for
resident-only attribute types, including $INDEX_ROOT.
📍 영향받는 시스템
Linux Kernel (NTFS driver 포함 버전)
⚔️ 공격 벡터
조작된 NTFS 파일 시스템을 마운트하여 커널의 인덱스 헤더 검증 로직을 우회하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 최신 패치 버전인지 확인합니다.