CVE-2026-98640 in Linuxinformación

Resumen

por VulDB • 2026-10-18

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

HID: amd_sfh: Validar el tamaño del PCI BAR antes del mapeo

El controlador amd_sfh mapea el PCI BAR 2 utilizando pcim_iomap_regions() y posteriormente accede a registros MMIO en desplazamientos de hasta 0x10958 (por ejemplo, AMD_P2C_MSG3 en 0x1068C). Sin embargo, el controlador nunca valida que el tamaño del BAR sea lo suficientemente grande para cubrir estos accesos. Si el controlador se vincula a un dispositivo con un BAR 2 más pequeño, esto provoca un acceso fuera de los límites de la memoria y una falla de página durante la función de sondeo (probe).

Por ejemplo, puede producirse una falla de página al leer desde privdata->mmio + AMD_P2C_MSG3 en mp2_select_ops():

BUG: unable to handle page fault for address: ffffc9000390368c PGD 100000067 P4D 100000067 PUD 1012c1067 PMD 105b64067 PTE 0 Oops: Oops: 0000 [#1] SMP KASAN NOPTI
RIP: 0010:readl arch/x86/include/asm/io.h:59 [inline]
RIP: 0010:mp2_select_ops drivers/hid/amd-sfh-hid/amd_sfh_pcie.c:282 [inline]
RIP: 0010:amd_mp2_pci_probe+0x337/0x5f0 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c:487 Call Trace: <TASK> local_pci_probe drivers/pci/pci-driver.c:332 [inline]
pci_call_probe drivers/pci/pci-driver.c:394 [inline]
__pci_device_probe drivers/pci/pci-driver.c:455 [inline]
pci_device_probe+0x431/0xc90 drivers/pci/pci-driver.c:489

Se soluciona este problema verificando que la longitud del BAR 2 sea de al menos 128 KB antes de intentar mapearlo. Dado que el desplazamiento máximo accedido es 0x10958 y los tamaños de PCI BAR son potencias de 2, cualquier hardware legítimo tendrá un tamaño de BAR de al menos 128 KB.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-18

Moderación

aceptado

Artículo

VDB-422205

EPSS

0.00205

KEV

no

Actividades

bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!