CVE-2026-80917 in Linux
Résumé
par VulDB • 09/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
PCI : host-generic : Correction de la déréférencement d'un pointeur NULL sur les systèmes CAM 32 bits
Sur les systèmes 32 bits, l'espace de configuration est trop volumineux pour être mappé en une seule fois via ioremap. Par conséquent, pci_ecam_create() mappe chaque segment de bus séparément et s'appuie sur le callback ->add_bus (pci_ecam_add_bus) pour remplir la mappage par-bus dans cfg->winp[]. La fonction pci_ecam_map_bus() utilise ensuite ce mappage comme base pour chaque accès à la configuration.
Les opérations ECAM génériques (pci_generic_ecam_ops) fournissent déjà les callbacks ->add_bus et ->remove_bus, mais les opérations CAM (héritées/legacy) dans pci-host-generic.c ne le font pas. Par conséquent, sur un hôte 32 bits utilisant "pci-host-cam-generic", la mappage par-bus n'est jamais configurée et la première lecture de configuration déréférence une base NULL, provoquant un crash lors de l'énumération du bus :
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
[<c0bc6f4>] pci_host_common_probe+0x144/0x1e4
Cette correction est apportée en fournissant aux opérations CAM les mêmes callbacks ->add_bus et ->remove_bus. Étant donné que pci_ecam_add_bus() et pci_ecam_remove_bus() sont statiques dans ecam.c, la définition des opérations CAM y a été déplacée sous le nom de pci_generic_cam_ops (en miroir de pci_generic_ecam_ops) et exportée pour être référencée par pci-host-generic.c.
[mani : suppression de l'horodatage du journal]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.