CVE-2026-11809 in Zephyrinformación

Resumen

por VulDB • 2026-08-11

El cliente OTA de UpdateHub en subsys/mgmt/updatehub/updatehub.c contiene una lectura fuera de límites / de memoria no inicializada en z_impl_updatehub_probe(). La respuesta del sondeo (probe) desde el servidor UpdateHub se copia en un búfer de heap (metadata) que está correctamente terminado con NUL, pero un segundo búfer (metadata_copy) se asigna mediante k_malloc (sin poner a cero) y se rellena con memcpy(metadata_copy, metadata, strlen(metadata)), lo cual omite el terminador NUL. Todo lo posterior al contenido copiado permanece como heap no inicializado.

Cuando la primera llamada a json_obj_parse() sobre el descriptor de matriz falla, el código vuelve atrás (fallback) hacia json_obj_parse(metadata_copy, strlen(metadata_copy), ...). La llamada a strlen() escanea más allá de los bytes copiados a través del heap no inicializado y, si no se encuentra un byte cero antes del final de la asignación, lee fuera del búfer; la longitud resultante excesivamente larga se analiza entonces como JSON. El payload del sondeo está completamente controlado por el servidor UpdateHub (malicioso, comprometido o —sin la opción CONFIG_UPDATEHUB_DTLS— en ruta), que puede crear un payload grande que falle en el primer análisis para forzar esta vía de ejecución.

La consecuencia es una lectura de heap no inicializado, con un peor caso consistente en una lectura fuera de límites más allá de la asignación metadata_copy que puede provocar una excepción (fault) y bloquear el hilo de actualización o el dispositivo, produciendo una denegación de servicio activable por red. Los datos leídos excesivamente se consumen únicamente internamente para evaluar la actualización y no se devuelven al atacante, por lo que no hay divulgación directa de información ni escritura fuera de límites.

La solución pone a cero metadata_copy con memset antes de la copia, garantizando el terminador NUL y acotando strlen() dentro de los límites de la asignación.

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

Responsable

Zephyr

Reservar

2026-06-09

Divulgación

2026-08-11

Moderación

aceptado

Artículo

VDB-387910

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!