CVE-2026-89965 in Linux
요약
\~에 의해 VulDB • 2026. 09. 16.
리눅스 커널에서 다음 취약점이 해결되었습니다:
nvdimm/btt: nfree가 레인 수보다 작은 아레나를 거부함
BTT 정보 블록의 nfree 필드(예약된 빈 블록 수)는 검증 없이 미디엄으로부터 읽힙니다. btt_freelist_init() 및 btt_rtt_init() 함수는 nfree에 따라 per-lane freelist[] 및 rtt[] 배열을 크기를 조정하지만, I/O 경로에서는 nd_region_acquire_lane()에서 반환하는 레인 값을 인덱스로 사용하여 이들을 참조합니다. 이는 nfree가 아닌 nd_region->num_lanes(ND_MAX_LANES)로 제한됩니다. nfree가 레인 수보다 작은 조작된 또는 외부 아레나의 경우 freelist[lane]/rtt[lane]이 할당 범위를 벗어나 실행되어 경계 밖 쓰기(out-of-bounds write)를 유발합니다.
btt.rst는 nlanes = min(nfree, num_cpus) 불변식을 문서화하고 있으나, 현재 코드는 이를 준수하지 않습니다: num_lanes는 nfree와 무관하게 ND_MAX_LANES입니다. per-lane 배열이 할당되기 전에 발견 단계에서 nfree가 num_lanes보다 작은 아레나를 거부함으로써 해당 불변식을 강제합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.