🇰🇷 한글 설명
Linux 커널의 ntfs3 파일 시스템 드라이버에서 로그 재현(log_replay) 과정 중 Dirty Page Table(DPT)의 용량을 적절히 검증하지 않아 발생하는 취약점입니다. 조작된 NTFS 이미지를 마운트할 경우 커널 슬랩 영역에서 경계 외 쓰기(out-of-bounds write)가 발생하여 시스템 권한 탈취나 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
악의적으로 만들어진 NTFS 저장 장치를 컴퓨터에 연결하는 것만으로도 컴퓨터의 핵심 시스템 영역에 잘못된 데이터를 쓸 수 있는 보안 결함입니다. 이로 인해 컴퓨터가 갑자기 멈추거나 해커가 시스템 제어권을 가질 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: validate Dirty Page Table capacity in log_replay copy_lcns
In the analysis pass of $LogFile journal replay, log_replay() copies
LCNs from each action log record into an existing Dirty Page Table
(DPT) entry without bounding the destination index. A crafted NTFS
image with DPT entry lcns_follow=1 and an action log record with
lcns_follow=2 produces a kernel slab out-of-bounds write at mount
time:
BUG: KASAN: slab-out-of-bounds in log_replay+0x654c/0xdb60
Write of size 8 at addr ffff8880095e1040 by task mount
Two attacker-controlled fields can drive j+i past the allocated
page_lcns[] array:
1. dp->lcns_follow (capacity) can be smaller than lrh->lcns_follow.
2. lrh->target_vcn may be smaller than dp->vcn, making the u64
subtraction wrap to a huge size_t.
Validate target VCN delta and per-record LCN count against the
DPT entry capacity, bail via the existing out: cleanup label with
-EINVAL.
This mirrors the bounds-check pattern added in commit b2bc7c44ed17
("fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot")
and commit 0ca0485e4b2e ("fs/ntfs3: validate rec->used in
journal-replay file record check").
📍 영향받는 시스템
Linux kernel (ntfs3 driver 포함 버전)
⚔️ 공격 벡터
조작된 LCN/VCN 값을 포함한 NTFS 이미지 파일을 마운트하여 커널 메모리 오염 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인