CVE-2026-72192 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 16.

리눅스 커널에서 다음 취약점이 해결되었습니다:

ntfs3: indx_insert_into_root 호출 전 $INDEX_ROOT의 to_move 변수에 경계 검사 적용

indx_insert_into_root() 함수는 가득 찬 상주(resident) 상태의 $INDEX_ROOT를 $INDEX_ALLOCATION로 승격시키고, 마지막을 제외한 모든 상주 루트 엔트리들을 hdr_insert_head()를 통해 새로 할당된 INDEX_BUFFER로 복사합니다. 소스 바이트 수인 'to_move' 값은 디스크에 저장된 상주 엔트리의 크기를 합산하여 계산되며, 이는 root->index_block_size( indx->index_bits를 통해 결정됨)에서 파생되는 목적지 버퍼 크기에는 독립적입니다.

유효하고 가득 찬 상주 루트를 유지한 채로, 루트가 populated 된 후 root->index_block_size 값을 512로 축소하는 조작된 NTFS 이미지는 hdr_insert_head()가 indx_new()가 반환한 kmalloc(1u << indx->index_bits) 할당 영역의 끝을 넘어 공격자가 제어할 수 있는 상주 엔트리 바이트들을 memcpy하도록 만듭니다. 목적지가 512바이트이고, 마지막을 제외한 비마지막(non-last) 엔트리의 총합이 560바이트인 경우, memcpy는 120바이트를 오버런하며 이어지는 memmove로 인해 가장 높은 쓰기 오프셋은 할당 영역 끝에서 136바이트 더 멀리까지 확장됩니다. 오버플로우된 바이트들은 kmemdup을 통해 디스크 엔트리들의 직접 복사본이므로 공격자가 완전히 제어할 수 있습니다.

이 쓰기는 마운트된 조작된 NTFS 이미지에 대해 비권한(open(O_CREAT)) 접근으로 도달 가능합니다: 상주 루트가 이미 가득 찬 디렉토리에서 충분히 긴 create 연산 한 번만 수행하면 루트 승격(copy)이 강제 실행되고 취약점이 트리거됩니다.

이는 kmalloc(index_block_size) 할당 영역의 끝을 넘어 120~136바이트를 쓰는 공격자 제어 콘텐츠가 포함된 통제된 범위 외(out-of-bounds) 쓰기입니다. 이는 경계가 있는 인접 힙 손상(primitive)이며, 임의 주소 쓰기는 아닙니다. 성공적인 익스플로잇은 주변 슬랩(slab) 레이아웃에 따라 명명된 대상 객체로의 전이가 필요합니다.

싱크 지점에서의 복사를 거부합니다. 목적지의 INDEX_HDR에는 이미 hdr_total(새 버퍼의 페이로드 용량)과 hdr_used(indx_new()가 설치한 터미널 END 엔트리에 의해 이미 소비된 바이트 수)이 보고되어 있습니다. hdr_insert_head() 호출 전, to_move 값이 남은 페이로드에 맞는지 확인합니다. 불일치 시 -EINVAL로 실패하고 파일시스템을 디스크 상의 일관성 오류가 감지되었음을 나타내는 상태로 표시하며, 이는 해당 함수 내 주변 검증 로직과 동일한 동작입니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 08. 09.

모더레이션

수락

항목

VDB-390473

EPSS

0.00215

출처

Want to know what is going to be exploited?

We predict KEV entries!