VULNERABILIDAD
CVE-2026-98860 Error de hardware tratado como éxito en hid_bpf_hw_request
En el kernel de Linux, si un driver de transporte devuelve un código negativo como -EPIPE, la comparación con size lo promueve a size_t y la condición (ret size) resulta verdadera, convirtiendo el error en éxito y dejando datos obsoletos o no inicializados para los programas BPF. Se corrige con un cast a ssize_t.
Alerta de Nureq Monitor
Detectada 18 OCT · 14:00
CVSS 3.1 · PRELIMINAR
—S/DPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,2 % PERCENTIL 4
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-98860
En el kernel de Linux, si un driver de transporte devuelve un código negativo como -EPIPE, la comparación con size lo promueve a size_t y la condición (ret size) resulta verdadera, convirtiendo el error en éxito y dejando datos obsoletos o no inicializados para los programas BPF. Se corrige con un cast a ssize_t.
Productos y versiones afectadas
Linux
Linux
Qué hacer
- Verificá si usás Linux y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
Esta vulnerabilidad todavía no tiene vector CVSS publicado.
Abrir la calculadora completa →
Descripción original
In the Linux kernel, the following vulnerability has been resolved:
HID: bpf: cast size to ssize_t when checking hid_bpf_hw_request
As reported by Sashiko:
If a transport driver encounters a hardware error and returns a negative
error code such as -EPIPE, ret is implicitly promoted to size_t when
compared against size. This causes the negative error code to evaluate
as a large positive number, making the (ret > size) condition true.
This silently converts the hardware error into a success return value
and copies the unmodified buffer back, which could leave BPF programs
operating on uninitialized or stale data.
Fix this by casting size into ssize_t to return the actual negative
error code.
Referencias
- git.kernel.org/stable/c/8b85ef0f561039e249c3f883c5280a1449c6dbee
- git.kernel.org/stable/c/97be6396817bd3b11d06239010d27902940bfaa9
- git.kernel.org/stable/c/f9f808227554b2c116fd07dd2328ecd74ea3f411
- git.kernel.org/stable/c/3afefbfe55c2a8a0c4bdf6f4cc1f773da120027c
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.