CVE-2026-90048 in Linux정보

요약

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

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

fs/ntfs3: ni_create_attr_list()에서의 슬랩 아웃 오브 바운즈(slab-out-of-bounds) 쓰기 버그 수정

ni_create_attr_list()는 al_aligned(record_size)(== record_size)바이트의 고정 크러기 버퍼를 할당한 후, 기본 MFT 레코드의 모든 속성을 순회하며 각 속성마다 ATTR_LIST_ENTRY 하나를 작성하고 le_size(name_len)만큼 커서를 이동합니다. 그러나 이 과정에서는 버퍼 끝을 초과하지 않는지 확인하는 검증이 없으며, 총 크기는 루프가 완료된 후에야 계산됩니다.

최소 크기 레시던트(resident) 속성은 디스크상에서 SIZEOF_RESIDENT(0x18 = 24)바이트를 차지하지만, 이름 없는 속성은 목록 내에서 le_size(0)(0x20 = 32)바이트로 확장됩니다. 레코드 내의 속성 수가 제한되지 않기 때문에(mi_enum_attr()는 임의로 많은 수의 동일 타입 및 이름이 없으며 최소 크기의 속성을 허용함), 이러한 속성들로 가득 채워진 악성 레코드는 record_size보다 큰 목록을 생성하여 힙 버퍼를 오버플로우시킵니다.

이 취약점은 악성으로 조작된 루프 마운트(loop-mounted) NTFS 이미지를 통해 접근 가능합니다: 파일을 열고 속성을 추가하는 작업(setxattr 등 사용 시)은 ntfs_set_ea() -> ni_insert_resident() -> ni_insert_attr() -> ni_ins_attr_ext() -> ni_create_attr_list() 경로를 따라 실행됩니다.

BUG: KASAN: slab-out-of-bounds in ni_create_attr_list+0xc48/0x1058 Write of size 4 at addr ffff000008984c00 by task setfattr/345 ni_create_attr_list+0xc48/0x1058 ni_ins_attr_ext+0x510/0x7c0 ni_insert_attr+0x3f8/0x70c ni_insert_resident+0xc8/0x3b0 ntfs_set_ea+0x66c/0xd28 ntfs_setxattr+0x4d8/0x5b0 __arm64_sys_setxattr+0xa4/0x124 Allocated by task 345: ni_create_attr_list+0x188/0x1058 The buggy address belongs to the cache kmalloc-1k of size 1024 (the write lands at object+1024).

버퍼 크기를 단일 record_size가 항상 충분할 것이라고 가정하는 대신, 실제 속성들의 크기에 기반하여 조정해야 합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-405899

EPSS

0.00000

출처

Do you know our Splunk app?

Download it now for free!