CVE-2026-72211 in Linux
요약
\~에 의해 VulDB • 2026. 08. 15.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ntfs: 헤더 재할당 업데이트 전에 인덱스 루트 값을 확장합니다.
ntfs_ir_reparent() 함수는 거주형(resident) 인덱스 루트 엔tries를 인덱스 블록으로 이동하고, 자식 VCN을 포함하는 작은 루트 스텁(stub)을 남깁니다. 이 루트 스텁은 기존 거주형 값보다 클 수 있습니다. 예를 들어, value_length가 48인 빈 루트는 32바이트의 인덱스 영역을 가지지만, 대용량 인덱스(root stub)에는 index_length와 allocated_size로 40바이트가 필요합니다.
현재 코드는 거주형 값을 리사이즈하기 전에 더 큰 값의 index.index_length 및 index.allocated_size를 먼저 게시합니다. 만약 리사이즈 결과가 -ENOSPC(공간 부족)라면, 복구 경로에서 ntfs_inode_add_attrlist()를 호출할 수 있습니다. 이 함수는 루트 헤더가 allocated_size 40을 가리키고 있음에도 불구하고 거주형 값이 여전히 인덱스 영역으로 32바이트しか 제공하지 않는 상태에서 속성을 다시 조회합니다. 이때 $INDEX_ROOT 검증 로직은 이러한 일시적인 레이아웃이 손상되었다고 올바르게 거부합니다.
이는 qemu 환경에서 generic/013 테스트 실패로 재현됩니다. 실패한 실행 사례에서는 일시적 루트의 value_len=48, index_size=32, index_length=40, allocated_size=40이었으며, ntfsprogs-plus의 ntfsck 유틸리티는 "MFT 레코드 1177에서 손상된 인덱스 루트"라고 보고했습니다.
루트 스텁이 확장될 경우, 더 큰 루트 헤더를 게시하기 전에 거주형 값을 리사이즈합니다. 만약 리사이즈가 실패하면 기존 루트가 복구 조회를 위해 유효하게 유지됩니다. 수축 또는 동일 크기 조정의 경우에는 기존 '리사이즈 전 헤더' 순서를 유지하여 거주형 값이 일시적으로 할당된 크기를 실제 경계 밖으로 노출하지 않도록 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.