Katalog CVE

CVE-2026-11809

NiskieCVSS 3.7
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.27%

Percentyl 19 - wyżej niż 19% wszystkich znanych CVE

Streszczenie

Klient OTA UpdateHub w Zephyr OS zawiera podatność polegającą na odczycie niezainicjalizowanej pamięci sterty oraz odczycie poza granicami bufora w funkcji z_impl_updatehub_probe(). Serwer UpdateHub może wysłać spreparowaną odpowiedź, która po nieudanym pierwszym parsowaniu JSON powoduje użycie niezakończonego znakiem NUL bufora metadata_copy, co prowadzi do odczytu poza przydzieloną pamięcią i może wywołać awarię urządzenia.

Ocena ryzyka

Atakujący (złośliwy lub skompromitowany serwer UpdateHub, a bez opcjonalnego CONFIG_UPDATEHUB_DTLS także atakujący w sieci) może zdalnie wywołać odmowę usługi (DoS) poprzez doprowadzenie do błędu krytycznego i restartu urządzenia. Brak bezpośredniego wycieku danych, ale awaria może zakłócić działanie systemu.

Rekomendacja

Należy natychmiast zastosować poprawkę dostarczoną przez producenta, która zeruje bufor metadata_copy przed kopiowaniem (memset), gwarantując zakończenie NUL i ograniczając działanie strlen() do przydzielonego bufora. Jeśli poprawka nie jest dostępna, rozważ włączenie CONFIG_UPDATEHUB_DTLS i ograniczenie zaufania do serwera UpdateHub.

Oryginalny opis (angielski, źródło NVD)

The UpdateHub OTA client in subsys/mgmt/updatehub/updatehub.c contains an out-of-bounds / uninitialized-memory read in z_impl_updatehub_probe(). The probe response from the UpdateHub server is copied into a heap buffer (metadata) that is correctly NUL-terminated, but a second buffer (metadata_copy) is allocated with k_malloc (unzeroed) and filled with memcpy(metadata_copy, metadata, strlen(metadata)), which omits the terminating NUL. Everything after the copied content remains uninitialized heap. When the first json_obj_parse() over the array descriptor fails, the code falls back to json_obj_parse(metadata_copy, strlen(metadata_copy), ...). The strlen() call scans past the copied bytes through uninitialized heap and, if no zero byte is found before the end of the allocation, reads beyond the buffer; the resulting over-long length is then parsed as JSON. The probe payload is fully controlled by the (malicious, compromised, or — without the optional CONFIG_UPDATEHUB_DTLS — on-path) UpdateHub server, which can craft a large payload that fails the first parse to drive this path. The consequence is a read of uninitialized heap, with a worst case of an out-of-bounds read past the metadata_copy allocation that can fault and crash the update thread/device, producing a network-triggerable denial of service. The over-read data is consumed only internally to evaluate the update and is not returned to the attacker, so there is no direct information disclosure and no out-of-bounds write. The fix zeroes metadata_copy with memset before the copy, guaranteeing NUL termination and bounding strlen() within the allocation.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS