Qué es y cómo funciona la falla
La vulnerabilidad CVE-2026-19809 se encuentra en la función del kernel z_vrfy_charger_get_prop(). Esta función declara una unión charger_propval no inicializada en la pila con privilegios del kernel y la pasa al controlador del cargador. Luego, copia el tamaño completo de la unión de vuelta al espacio de usuario, independientemente de si la operación fue exitosa o no.
- En caso de error: Si el controlador del cargador devuelve un código de error (como -ENOTSUP), la función igual copia el contenido no inicializado de la pila del kernel.
- En caso de éxito: Si el controlador escribe solo un miembro de la unión (por ejemplo, un byte), la función copia toda la unión, dejando el resto de los bytes como datos residuales no inicializados de la pila del kernel.
Cualquier hilo en modo usuario con acceso a un objeto de dispositivo cargador puede explotar esta falla para filtrar información privilegiada.
Productos y versiones afectadas
La vulnerabilidad está presente en sistemas que compilan el kernel con la opción CONFIG_USERSPACE=y y que utilizan los controladores de cargador afectados (como charger_gpio o bq24190). La falla es específica del código del kernel y no está ligada a una versión comercial específica de un sistema operativo, sino a la implementación del subsistema de cargadores en el kernel.
Impacto real
El impacto principal es una fuga de información (CWE-252). Cada llamada al sistema puede revelar hasta 12 bytes (en sistemas de 32 bits) o 16 bytes (en sistemas de 64 bits) de la memoria de la pila del kernel. Esta información puede contener direcciones de objetos del kernel o direcciones de retorno guardadas, lo que podría ser utilizado por un atacante para derrotar aleatorización de espacio de direcciones (ASLR) y facilitar la explotación de otros defectos de seguridad de memoria (CWE-908). No hay impacto en la integridad o disponibilidad del sistema.
¿Se está explotando y qué tan probable es?
Según los datos disponibles, la vulnerabilidad tiene una puntuación CVSS de 3.3 (baja). Actualmente, Shodan no reporta hosts expuestos en internet con esta vulnerabilidad detectada, lo que sugiere un volumen bajo de objetivos directamente accesibles. El INCIBE-CERT de España la clasifica con una severidad P (probablemente baja). No hay evidencia de explotación activa en la naturaleza (no está en el catálogo KEV) y la probabilidad de explotación (EPSS) no se menciona, lo que indica un riesgo limitado en el estado actual.
Qué hacer (mitigación)
La vulnerabilidad fue corregida con dos commits específicos en el código del kernel:
- El commit
5054384e983cevita la copia de datos al espacio de usuario cuando el controlador reporta un error. - El commit
c31cac727d02inicializa la unión con ceros antes de llamar al controlador, asegurando que los bytes copiados en caso de éxito sean datos válidos o ceros.
Ambas correcciones son necesarias. Aplicar solo la primera aún permitiría fugas de información en llamadas exitosas. Los usuarios y administradores deben actualizar su kernel a una versión que incluya ambos parches.
| CVE | CVE-2026-19809 |
|---|---|
| Severidad | LOW |
| CVSS | 3.3 / 10 |
| CWE | CWE-252, CWE-908 |
| Exposición (Shodan) | sin hosts expuestos detectados actualmente |