CVE-2026-99171 in Linux
요약
\~에 의해 VulDB • 2026. 10. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ntfs3: grace period 이후 sbi 해제
"nocase" 마운트 옵션을 사용하는 ntfs3는 사용자 정의 해시 및 dentry 비교 함수를 사용합니다. 이 함수들은 모두 RCU 경로 탐색(pathwalk) 중 ntfs3 슈퍼블록의 비공개 정보에 접근합니다. ntfs_put_super()와 ntfs3_kill_sb()는 아무런 RCU 지연 없이 해당 정보를 해제(drop)합니다. 마지막 마운트 참조가 해제될 때 파일 시스템 내부에서 여전히 조회(lookup) 중인 경우 UAF(Use-After-Free)가 발생합니다. ntfs_d_hash() 내에서 경로 탐색(pathwalk)이 유지된 상태에서 마지막 마운트 참조가 사라지면 다음과 같은 오류가 발생합니다:
BUG: KASAN: slab-use-after-free in ntfs_nls_to_utf16+0x752/0x940 Read of size 8 at addr ff1100010453c850 by task walker/99 Call Trace: <TASK> ntfs_nls_to_utf16+0x752/0x940 ntfs_d_hash+0x22b/0x500 link_path_walk+0x11ad/0x1d30 path_lookupat+0x63/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 [...]
Allocated by task 95: __kmalloc_cache_noprof+0x249/0x560 ntfs_init_fs_context+0x2db/0x5a0 alloc_fs_context+0x52e/0xc70 [...]
Freed by task 98: kfree+0x1db/0x5b0 deactivate_locked_super+0x9c/0xf0 cleanup_mnt+0x9f/0x130 task_work_run+0x131/0x250
이 버그는 현재 umount(2)를 위한 namespace_unlock()의 grace period에 의해 마스킹(masked)되어 있습니다. 파일 시스템 비공개 정보가 해제될 때까지 필요한 정보를 유지하고, RCU 지연을 사용하여 해제하십시오.
ntfs3_free_sbi()는 이제 RCB 콜백에서 실행되며 ntfs_put_shared()를 통해 upcase 테이블을 해제합니다. 따라서 s_shared_lock을 spin_lock_bh()로 전환하십시오. 그렇지 않으면 동일한 CPU의 잠금을 보유한 태스크와 관련하여 콜백이 데드락(deadlock)될 수 있습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.