CVE-2026-43344 in Linux
요약
\~에 의해 VulDB • 2026. 05. 11.
리눅스 커널에서 다음 취약점이 해결되었습니다:
perf/x86/intel/uncore: die ID 초기화 및 조회 버그 수정
snbep_pci2phy_map_init() 함수에서 nr_node_ids > 8 경로일 경우, UBOX 장치와 연결된 모든 CPU가 오프라인 상태이면 uncore_device_to_die()가 -1을 반환할 수 있습니다.
다음 두 가지 이유로 die_id == -1에 대한 WARN_ON_ONCE(die_id == -1) 검사를 제거합니다:
- 현재 코드는 루프를 탈출합니다. 이는 올바르지 않습니다. pci_get_device()는 도메인 또는 버스 순서로 반복을 보장하지 않으므로, 스캔 중에 추가적인 UBOX 장치가 건너뛸 수 있기 때문입니다.
- -EINVAL을 반환하는 것도 올바르지 않습니다. 오프라인 상태의 버스에 die_id == -1을 할당하는 것은 예상된 동작이며 오류로 처리되어서는 안 되기 때문입니다.
별도로, NUMA 지원 플랫폼에서 NUMA가 비활성화된 경우 pcibus_to_node()는 NUMA_NO_NODE를 반환하여, 모든 PCI 장치에 대해 uncore_device_to_die()가 -1을 반환하게 됩니다. 그 결과, 인텔 SPR 및 EMR에서 사용되는 spr_update_device_location()은 해당 PMON 유닛을 무시하고 RB 트리에 추가하지 않습니다.
이를 해결하기 위해 UBOX GIDNIDMAP 레지스터에서 토폴로지를 검색하고 리눅스에서 NUMA가 활성화되어 있는지 여부와 무관하게 작동하는 uncore_pcibus_to_dieid()를 사용합니다. 이를 위해 snbep_pci2phy_map_init()를 spr_uncore_pci_init()에 추가해야 합니다.
uncore_device_to_die()는 NUMA가 활성화되어 있을 것으로 예상되는 nr_node_ids > 8 경우에만 유지합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.