CVE-2026-80674 in Linux정보

요약

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

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

ntfs: resident 속성 목록에 대한 유효성 검사와 검증기 강화

load_attribute_list() 함수는 비-resident(non-resident) 경로에서만 루트 inode의 $ATTRIBUTE_LIST에 대해 무결성 검사(sanity-check)를 수행합니다. 반면, ntfs_read_locked_inode()는 *resident* 속성 목록을 plain memcpy()로 ni->attr_list에 복사하며 전혀 검증하지 않습니다. 그 후 ni->attr_list를 순회하는 모든 과정(ntfs_external_attr_find(), ntfs_inode_attach_all_extents(), ntfs_attrlist_need())은 해당 항목들이 올바르게 구성되어 있다고 가정하고, 이미 검사가 완료되었다는 전제 하에 attr_list_entry의 고정 헤더 필드(lowest_vcn: 오프셋 8, mft_reference: 오프셋 16 및 이름)를 경계 확인 없이 읽습니다. 따라서 악성으로 조작된 resident 속성 목록이 검증되지 않은 채 이러한 순회 과정에 도달하여 attribute-list 버퍼의 out-of-bounds(범위 밖) 읽기를 유발할 수 있습니다.

load_attribute_list() 자체는 ale->name_offset(오프셋 7), ale->mft_reference(오프셋 16) 및 이름 길이를 "al < al_start + size"라는 경계 내에서만 읽어오므로, 자신의 검증 루프가 잘린(truncated) 후행 항목의 고정 헤더를 몇 바이트만큼 초과하여 읽을 수 있습니다.

각 항목별 검증을 ntfs_attr_list_entry_is_valid()로 분리합니다. 이 함수는 필드 역참조(dereference) 전에 각 항목의 고정 헤더(offsetof(struct attr_list_entry, name))가 범위 내에 있는지, ale->length가 8의 배수이며 고정 헤더와 이름을 모두 포함하는지, 그리고 해당 항목이 사용 중이고 유효한 MFT 참조를 가지고 있는지를 요구합니다. ntfs_attr_list_is_valid()는 이를 사용하여 버퍼를 순회하며 항목들이 정확히 타일링(tiling)되었는지 확인합니다. load_attribute_list()에서 이 목록 검증기를 사용하고(개방된 루프(open-coded loop)를 대체하여 자체 초과 읽기 문제 해결), ntfs_read_locked_inode()의 resident 경로에서도 사용합니다(이전에는 검증을 완전히 생략함); 패치 2/3에서는 다른 두 속성 목록 순회 지점에서도 항목별 헬퍼 함수를 재사용합니다.

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

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-396628

EPSS

0.00000

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!