🔍 CVE-2026-80917

0.0
CVSS Score
UNKNOWN
2026-09-09
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

32비트 CAM 시스템을 사용하는 Linux 커널에서 PCI 호스트 설정 시 NULL 포인터 역참조로 인해 커널 패닉이 발생할 수 있는 취약점입니다. pci-host-generic.c의 CAM 운영 방식이 버스 매핑을 설정하는 콜백 함수를 누락하여 버스 스캔 과정에서 시스템이 충돌합니다.

💡 쉬운 설명

32비트 컴퓨터에서 특정 PCI 장치를 인식하려고 할 때, 컴퓨터가 잘못된 메모리 주소를 참조하여 시스템이 갑자기 멈추거나 꺼지는 문제입니다. 장치를 찾는 과정에서 필요한 정보가 준비되지 않아 발생하는 오류입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: PCI: host-generic: Fix NULL pointer dereference on 32-bit CAM systems On 32-bit systems the config space is too large to ioremap in one go, so pci_ecam_create() maps each bus segment separately and relies on the ->add_bus callback (pci_ecam_add_bus) to populate the per-bus mapping in cfg->winp[]. pci_ecam_map_bus() then uses that mapping as the base for every config access. The generic ECAM ops (pci_generic_ecam_ops) already provide the ->add_bus and ->remove_bus callbacks, but the CAM (legacy) ops in pci-host-generic.c do not. As a result, on a 32-bit host using "pci-host-cam-generic" the per-bus mapping is never set up and the first config read dereferences a NULL base, crashing during bus enumeration: Unable to handle kernel NULL pointer dereference at virtual address 00000800 Oops [#1] CPU: 0 PID: 1 Comm: swapper Not tainted 6.9.7+ #43 Hardware name: Digilent Nexys-Video-A7 RV32 (DT) epc : pci_generic_config_read+0x40/0xb0 ra : pci_generic_config_read+0x2c/0xb0 [<c038db9c>] pci_generic_config_read+0x40/0xb0 [<c038da04>] pci_bus_read_config_dword+0x50/0xb0 [<c0391e94>] pci_bus_generic_read_dev_vendor_id+0x3c/0x1ec [<c039245c>] pci_scan_single_device+0xa4/0x11c [<c0392570>] pci_scan_slot+0x9c/0x23c [<c039388c>] pci_scan_child_bus_extend+0x58/0x2f4 [<c0393db0>] pci_scan_root_bus_bridge+0x64/0xe8 [<c0393e54>] pci_host_probe+0x20/0xc8 [<c03bc6f4>] pci_host_common_probe+0x144/0x1e4 Fix this by giving the CAM ops the same ->add_bus/->remove_bus callbacks. Since pci_ecam_add_bus() and pci_ecam_remove_bus() are static to ecam.c, move the CAM ops definition there as pci_generic_cam_ops (mirroring pci_generic_ecam_ops) and export it for pci-host-generic.c to reference. [mani: removed timestamp from log]

📍 영향받는 시스템

32-bit Linux kernel systems using 'pci-host-cam-generic'

⚔️ 공격 벡터

Local (시스템 부팅 또는 PCI 버스 스캔 시 커널 패닉 유발)

🛡️ 대응 방법

Linux 커널을 최신 패치가 적용된 버전으로 업데이트하여 CAM ops에 add_bus/remove_bus 콜백을 추가해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전(예: 6.9.7 이후 수정 버전)인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel