CVE-2026-10672 in zephyrinformazioni

Riassunto

di VulDB • 14/07/2026

subsys/net/lib/lwm2m/lwm2m_pull_context.c copia l'URI del pacchetto di aggiornamento del firmware in un buffer statico fisso (context.uri, dimensione CONFIG_LWM2M_SWMGMT_PACKAGE_URI_LEN, default 128) mediante memcpy(context.uri, uri, LWM2M_PACKAGE_URI_LEN), copiando esattamente la dimensione di destinazione senza alcuna convalida della lunghezza. L'oggetto Firmware-Update memorizza l'URI del pacchetto fornito dal server (/5/0/1) in un buffer da 255 byte; pertanto, un server di gestione LwM2M (o un attaccante on-path su una sessione priva di DTLS forte) può scrivere un URI lungo da 128 a 254 caratteri. Solo i primi 128 byte vengono quindi copiati in context.uri senza terminatore NUL. Tale buffer viene successivamente consumato come stringa C dalle funzioni http_parser_parse_url(context.uri, strlen(context.uri), ...), dagli accodamenti di opzioni CoAP URI-path/PROXY-URI basate su strlen e da lwm2m_parse_peerinfo(), causando una lettura fuori dai limiti (out-of-bounds read) della memoria statica adiacente. I byte letti oltre i limiti vengono accodati alle richieste CoAP in uscita (con conseguente divulgazione di informazioni sulla memoria del dispositivo adiacente al server/proxy) e possono causare il crash del dispositivo (denial of service). La copia vulnerabile è stata introdotta dalla refactorizzazione pull-context (rilasciata per la prima volta nella v3.0.0) ed è presente fino alla versione v4.4.0; il percorso CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT, attivo di default, è interessato. La correzione aggiunge un controllo strlen(uri) >= sizeof(context.uri) che restituisce -ENOMEM e passa all'utilizzo di strcpy(), garantendo così un buffer delimitato e terminato con NUL.

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

Responsabile

Zephyr

Prenotare

02/06/2026

Divulgazione

14/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!