🇰🇷 한글 설명
Linux 커널의 ntfs3 파일 시스템 드라이버에서 indx_find_buffer 함수가 재귀 호출 시 깊이 제한을 두지 않아 발생하는 스택 오버플로우 취약점입니다. 조작된 NTFS 이미지를 마운트하여 특정 파일을 삭제할 경우 무한 재귀가 발생하여 커널 스택이 넘치고 시스템이 패닉 상태에 빠질 수 있습니다.
💡 쉬운 설명
악의적으로 만들어진 USB 메모리 등을 컴퓨터에 연결하면 시스템이 갑자기 멈추거나 꺼질 수 있는 보안 결함입니다. 파일 시스템의 구조를 복잡하게 꼬아놓아 컴퓨터의 메모리 계산 능력을 마비시키는 방식입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fs/ntfs3: add depth limit to indx_find_buffer to prevent stack overflow
indx_find_buffer() recursively descends the B+ tree index with no depth
limit. A crafted NTFS image with circular index node references causes
unbounded recursion, overflowing the kernel stack and panicking the
system.
This is reachable by mounting a malicious NTFS filesystem (e.g. from a
USB drive via desktop automount) and deleting a file whose index entry
triggers the rebalancing fallback path in indx_delete_entry().
Add a depth parameter and bail out with -EINVAL when it reaches the
fnd->nodes array bound, matching the constraint already enforced by
fnd_push() in indx_find().
The related function indx_find() was previously patched for a similar
infinite-loop issue (commit 1732053c8a6b), but indx_find_buffer() was
missed.
📍 영향받는 시스템
Linux kernel (ntfs3 driver 사용 환경)
⚔️ 공격 벡터
조작된 NTFS 파일 시스템이 포함된 외부 저장 장치(USB 등)를 마운트한 후 특정 파일 삭제 동작 수행
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인