CVE-2026-89492 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 12.

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

ocfs2: 메타데이터 읽기 시 디렉토리 인덱스 항목 수 검증

ocfs2_validate_dx_leaf() 및 ocfs2_validate_dx_root()는 인덱싱된 디렉토리 블록이 상위 호출자에게 전달되기 전에 해당 블록의 ECC와 서명을 확인하지만, 두 유효성 검사 프로그램 모두 ocfs2_dx_entry_list의 카운트를 이를 보유하는 블록의 용량에 대해 제한하지 않습니다.

ocfs2_dx_dir_search()는 이후 다음 루프를 실행합니다:

for (i = 0; i < le16_to_cpu(entry_list->de_num_used); i++) dx_entry = &entry_list->de_entries[i];

이는 de_num_used 항목에 대해 경계 검사 없이 순회합니다. entry_list는 ocfs2_read_dx_leaf에서 가져온 dx_leaf->dl_list이거나, 인라인 루트의 경우 dx_root->dr_entries입니다. 조작된 디스크 이미지를 통해 de_num_used(및 de_entries의 __counted_by_le() 바인딩인 de_count)를 0xffff로 설정하면, 이미지가 마운트된 후 인덱싱된 디렉토리에서의 경로 조회(path lookup), stat(), open()을 통해 접근 가능한 4KB 메타데이터 블록 끝을 훨씬 넘어가는 slab out-of-bounds read(슬랩 바깥 영역 읽기)가 발생할 수 있습니다.

커밋 775c17386a6f("ocfs2: validate dx_root extent list fields during block read")는 인라인이 아닌 dx_root에 대해 dr_list를 이미 제한했지만, 인라인 dr_entries 경로와 dx_leaf dl_list은 검사하지 않았습니다. 두 항목 목록 모두 읽기 시 유효성 검사를 추가합니다: de_count는 블록 용량(ocfs2_dx_entries_per_leaf()/per_root())과 정확히 같아야 하며, de_num_used는 de_count를 초과해서는 안 됩니다. 이를 통해 ocfs2_dx_dir_search()가 범위를 벗어난 항목 배열을 순회하기 전에 손상된 메타데이터를 -EFSCORRUPTED로 거부합니다.

리프 또는 인라인 루트가 포맷될 때 de_count는 항상 블록 용량으로 정확히 작성되므로, 등호 검사는 유효한 이미지를 거부하지 않습니다.

0sec 자동화 보안 연구 도구(https://0sec.ai)에서 발견됨.

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

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-402723

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!