CVE-2026-11809 in ZephyrИнформация

Сводка

по VulDB • 10.08.2026

В клиенте OTA UpdateHub в файле subsys/mgmt/updatehub/updatehub.c присутствует чтение за пределами буфера / неинициализированной памяти (out-of-bounds/uninitialized-memory read) в функции z_impl_updatehub_probe(). Ответ зонда от сервера UpdateHub копируется в кучевый буфер (metadata), который корректно завершается нулевым байтом, однако второй буфер (metadata_copy) выделяется с помощью k_malloc (без обнуления) и заполняется через memcpy(metadata_copy, metadata, strlen(metadata)), что приводит к отсутствию завершающего нуля. Все данные после скопированного содержимого остаются неинициализированными в куче.

При неудачном первом вызове json_obj_parse() для дескриптора массива код переходит к резервному варианту: json_obj_parse(metadata_copy, strlen(metadata_copy), ...). Вызов strlen() сканирует байты за пределами скопированных данных через неинициализированную область кучи и, если нулевой байт не найден до конца выделения памяти, происходит чтение за границами буфера; полученная избыточная длина затем интерпретируется как JSON. Полезная нагрузка зонда полностью контролируется сервером UpdateHub (вредоносным, скомпрометированным или — при отсутствии опции CONFIG_UPDATEHUB_DTLS — находящимся на пути передачи данных), который может создать большую полезную нагрузку, не проходящую первую проверку парсинга, чтобы инициировать этот путь выполнения.

Последствием является чтение неинициализированной кучи; в худшем случае происходит чтение за пределами буфера (out-of-bounds read) после выделения памяти для metadata_copy, что может вызвать сбой и аварийное завершение работы потока обновления или устройства, приводя к отказу в обслуживании (DoS), активируемому через сеть. Данные, прочитанные за границами буфера, потребляются только внутренне для оценки обновления и не возвращаются атакующему, поэтому прямой утечки информации нет, также отсутствует запись за пределами буфера (out-of-bounds write).

Исправление заключается в обнулении metadata_copy с помощью memset перед копированием, что гарантирует завершение нулевым байтом и ограничивает работу strlen() рамками выделенной памяти.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Ответственный

Zephyr

Резервировать

09.06.2026

Раскрытие

11.08.2026

Модерация

принято

Вход

VDB-387910

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!