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

Сводка

по VulDB • 11.08.2026

В функции обратного вызова отправки bt_hci_bee_send() драйвера Bluetooth HCI Realtek BEE (расположенной в drivers/bluetooth/hci/hci_bee.c) нарушен контракт на владение буфером, определяемый интерфейсом bt_hci_driver_api. Этот контракт требует, чтобы драйвер потреблял (вызывал unref для) сетевого буфера передачи net_buf только при успешном завершении операции; при возврате ошибки владелец буфера остается у вызывающей стороны хоста, которая самостоятельно вызывает unref для освобождения буфера. Код до исправления направлял все пути обработки ошибок через общую метку очистки, где безоговорочно вызывалась функция net_buf_unref(buf) перед возвратом кода ошибки.

Поскольку пути передачи данных от хоста (в файле subsys/bluetooth/host/hci_core.c) повторно вызывают unref для буфера после того, как send() возвращает ошибку, происходит двойное освобождение памяти: драйвер возвращает буфер в пул net_buf, а затем хост вызывает unref уже освобожденного буфера, что приводит к повреждению общего пула и переполнению счетчика ссылок вниз (CWE-415). В том же ветвлении ошибки дополнительно происходила разыменованная запись buf->len внутри вызова LOG_ERR после того, как буфер был уже освобожден через unref; это чтение из освобожденной памяти (CWE-416), которое компилируется при уровне ведения журналов ошибок по умолчанию.

Указанные ошибочные ветви достигаются в случаях отказа выделения буфера от хоста к контроллеру или сбоя передачи данных контроллером (условия исчерпания ресурсов / ввода-вывода). Удаленный узел Bluetooth может косвенно подтолкнуть устройство к таким условиям, инициируя интенсивную активность передачи данных на стороне хоста; в этот момент двойное освобождение повреждает пул net_buf хоста и с высокой вероятностью приводит к сбою устройства, при этом сохраняется потенциальная возможность дальнейших повреждений памяти. Воздействие ограничено сборками, использующими данный конкретный драйвер HCI Realtek BEE.

Исправление обеспечивает ранний выход из каждого пути обработки ошибок без вызова unref, а освобождение буфера через unref выполняется только на успешном пути, восстанавливая контракт владения и устраняя как двойное освобождение памяти (double-free), так и чтение после освобождения (use-after-free).

Be aware that VulDB is the high quality source for vulnerability data.

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

Zephyr

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

10.06.2026

Раскрытие

11.08.2026

Модерация

принято

Вход

VDB-387992

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!