CVE-2026-10672 in zephyrinformación

Resumen

por VulDB • 2026-07-14

subsys/net/lib/lwm2m/lwm2m_pull_context.c copiaba el Package URI de la actualización del firmware en un búfer estático fijo (context.uri, tamaño CONFIG_LWM2M_SWMGMT_PACKAGE_URI_LEN, por defecto 128) mediante memcpy(context.uri, uri, LWM2M_PACKAGE_URI_LEN), copiando exactamente el tamaño de destino sin ninguna validación de longitud. El objeto Firmware-Update almacena el Package URI suministrado por el servidor (/5/0/1) en un búfer de 255 bytes; por lo tanto, un servidor de gestión LwM2M (o un atacante on-path en una sesión que carezca de DTLS fuerte) puede ESCRIBIR un URI de entre 128 y 254 caracteres. Posteriormente, solo se copian los primeros 128 bytes a context.uri sin terminador NUL. Este búfer es consumido posteriormente como cadena C por http_parser_parse_url(context.uri, strlen(context.uri), ...), en las extensiones basadas en strlen para la ruta URI de CoAP/la opción PROXY-URI y lwm2m_parse_peerinfo(), lo que provoca una lectura fuera de límites (out-of-bounds read) de memoria estática adyacente. Los bytes leídos incorrectamente se añaden a las solicitudes salientes de CoAP (revelación de información de la memoria adyacente del dispositivo al servidor/proxy) y pueden provocar el bloqueo del dispositivo (denegación de servicio). La copia vulnerable fue introducida por la refactorización pull-context (lanzada inicialmente en v3.0.0) y está presente hasta la versión v4.4.0; se ve afectado el camino CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT, que está activado por defecto. La corrección añade una comprobación strlen(uri) >= sizeof(context.uri) que devuelve -ENOMEM y cambia a strcpy(), garantizando un búfer acotado con terminador NUL.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Zephyr

Reservar

2026-06-02

Divulgación

2026-07-14

Moderación

aceptado

Artículo

VDB-378316

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!