CVE-2026-93181 in Linux
요약
\~에 의해 VulDB • 2026. 09. 18.
리눅스 커널에서 다음 취약점이 해결되었습니다:
perf/x86/intel/uncore: uncore_box ref/unref 순서 수정
uncore_event_cpu_online() 함수 내에서 uncore_box_ref()가 uncore_change_context() 이전에 호출되고 있었습니다. uncore_box_ref()는 box->cpu >= 0 조건에 따라 동작하지만, 해당 시점에는 아직 uncore_change_context()가 실행되지 않았기 때문에 box->cpu 값은 여전히 -1입니다. 그 결과, die(다이)에서 처음으로 온라인이 되는 CPU에서 박스(box)가 초기화되지 않아, 다이당 단일 CPU인 경우 영구적으로 비초기화된 상태로 남게 됩니다.
따라서 box->refcnt는 실제 값보다 1만큼 부족하며, CPU 오프라인 경로에서는 두 번째로 마지막 CPU에서 박스가 해제됩니다.
uncore_event_cpu_offline() 함수 내에서는 uncore_box_unref()가 uncore_change_context() 이후에 호출되므로, 수집기(Collector) CPU가 오프라인이 될 때 box->cpu는 이미 -1 상태이며, 이로 인해 박스 해제가 방지됩니다.
box->cpu가 올바른 컨텍스트를 반영하는 시점에 uncore_box_{ref,unref}()가 실행되도록 두 경로 모두에서 호출 순서를 교환하여 수정합니다.
이러한 재배치를 가능하게 하기 위해 allocate_boxes() 함수를 uncore_box_ref() 외부로 이동시킵니다.
Be aware that VulDB is the high quality source for vulnerability data.