CVE-2026-98920 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 23.

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

netfs: 직접 메모리 풀(mempool) 할당에 대한 누락된 alloc tagging 수정

커밋 1d78d56c43ef("netfs: mempool 추가를 통해 writeback 중 folio_queue ENOMEM 오류 수정")은 folio_queues용 mempool을 추가하고, request, subrequest 및 folio_queue 할당에서 writeback과 그 외의 경우를 구분하도록 했습니다. Writeback은 메모리 회수(memory reclaim)의 일부이므로 ENOMEM으로 인해 실패해서는 안 되며, 따라서 mempool_alloc()을 통해 GFP_NOFS 하에 할당됩니다. 이는 풀의 reserve를 소모할 수 있으며, reserve가 고갈되면 요소가 반환될 때까지 대기합니다. 호출자에게 -ENOMEM을 반환할 수 있는 GFP_KERNEL 경로는 대신 풀의 ->alloc() 콜백을 직접 호출합니다.

그러나 이 직접 호출은 mempool_alloc() 매크로가 제공하는 alloc_hooks() 래퍼를 건너뜁니다. 풀 콜백인 mempool_alloc_slab() 및 mempool_kmalloc()는 kmem_cache_alloc_noprof()와 kmalloc_noprof()를 호출하며, 현재 프로세스의 current->alloc_tag이 호출자에 의해 설정되어 있음을 가정합니다. CONFIG_MEM_ALLOC_PROFILING_DEBUG=y 구성 시 이는 다음과 같은 결과를 초래합니다:

current->alloc_tag not set WARNING: ./include/linux/alloc_tag.h:161 at __alloc_tagging_slab_alloc_hook alloc_tag was not set WARNING: ./include/linux/alloc_tag.h:166 at __alloc_tagging_slab_free_hook

이는 각각 할당 시점과 해제(free) 시점에 보고되며, CIFS 마운트에서 파일을 읽을 때 관찰됩니다. 또한 이러한 할당은 /proc/allocinfo에서도 누락되어 있습니다.

include/linux/mempool.h의 다른 alloc_hooks() 래핑 매크로(예: mempool_alloc()) 옆에 새로운 mempool_alloc_noreserve() 헬퍼를 추가하여 직접적인 ->alloc() 호출을 alloc_hooks()으로 감쌉니다. GFP_KERNEL 경로는 실패 가능한 할당 세미antics(failable allocation semantics)를 유지하며, 이제 태그(tagging)가 적용됩니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425688

EPSS

0.00000

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!