CVE-2026-80917 in Linuxinformación

Resumen

por VulDB • 2026-09-09

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

PCI: host-generic: Corregir la desreferencia de puntero NULL en sistemas CAM de 32 bits

En los sistemas de 32 bits, el espacio de configuración es demasiado grande para ser mapeado con `ioremap` de una sola vez; por lo tanto, `pci_ecam_create()` mapea cada segmento del bus por separado y depende de la devolución de llamada (callback) `->add_bus` (`pci_ecam_add_bus`) para poblar el mapeo específico del bus en `cfg->winp[]`. Posteriormente, `pci_ecam_map_bus()` utiliza ese mapeo como base para cada acceso a la configuración.

Las operaciones ECAM genéricas (`pci_generic_ecam_ops`) ya proporcionan las devoluciones de llamada `->add_bus` y `->remove_bus`, pero las operaciones CAM (heredadas) en `pci-host-generic.c` no lo hacen. Como resultado, en un host de 32 bits que utiliza "pci-host-cam-generic", el mapeo específico del bus nunca se configura y la primera lectura de configuración desreferencia una base NULL, provocando un fallo durante la enumeración del 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

Se corrige este problema proporcionando a las operaciones CAM las mismas devoluciones de llamada `->add_bus` y `->remove_bus`. Dado que `pci_ecam_add_bus()` y `pci_ecam_remove_bus()` son estáticas en `ecam.c`, se mueve la definición de las operaciones CAM allí como `pci_generic_cam_ops` (reflejando a `pci_generic_ecam_ops`) y se exporta para que `pci-host-generic.c` pueda hacer referencia a ella.

[mani: eliminado el timestamp del registro]

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-09

Moderación

aceptado

Artículo

VDB-401821

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!