CVE-2026-80918 in Linuxinformación

Resumen

por VulDB • 2026-09-09

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

HID: core: corrección de la confusión entre tipos numéricos y punteros en elementos largos

Cuando `fetch_item()` es llamada por `hid_scan_report()` sobre un elemento con `HID_ITEM_TAG_LONG`, almacena un puntero a los datos del elemento en `item->data.longdata` en lugar de almacenar directamente un valor en `item->data.{u8/u16/u32}`.

Cuando `item_udata()` o `item_sdata()` se encuentra con dicho elemento, asume incorrectamente que el elemento está en formato corto y, por lo tanto, devuelve la parte baja de un puntero del kernel reinterpretado como un número.

Cuando se conecta un dispositivo HID cuyo descriptor contiene un `HID_GLOBAL_ITEM_TAG_REPORT_SIZE` codificado en formato largo con tamaño=4, esto provoca que la mitad inferior de un puntero del kernel se imprima en dmesg como un número, de la siguiente manera:

hid (null): invalid report_size 107953555

Para solucionarlo, se hace que `item_udata()` y `item_sdata()` verifiquen que el elemento esté en formato corto.

Tenga en cuenta que este error solo afecta a `hid_scan_report()`, mientras que la pasada principal de análisis `hid_parse_collections()` siempre finalizará su ejecución (bail out) al encontrarse con un elemento largo.

Nota al margen: Actualmente no hay usuarios de `data.longdata`; quizás deberíamos simplemente eliminar cualquier análisis de descriptores en formato largo como una acción posterior.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-09

Moderación

aceptado

Artículo

VDB-401822

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!