CVE-2026-11894 in Zephyrinformación

Resumen

por VulDB • 2026-08-11

El callback de envío del controlador Bluetooth Realtek BEE HCI, bt_hci_bee_send() en drivers/bluetooth/hci/hci_bee.c, violó el contrato de propiedad del búfer definido por la API bt_hci_driver_api. Dicho contrato exige que el controlador consuma (desreferencie) net_buf solo cuando se produce un envío exitoso; si hay un error, el propietario sigue siendo el llamante en el host y es este quien desreferencia el búfer. El código anterior a la corrección dirigía todas las rutas de error hacia una etiqueta de limpieza compartida que invocaba incondicionalmente net_buf_unref(buf) antes de devolver el código de error.

Debido a que las rutas TX del host (en subsys/bluetooth/host/hci_core.c) desreferencian nuevamente el búfer después de que send() devuelve un error, se produce una liberación doble: el controlador lo devuelve al pool net_buf y luego el host desreferencia un búfer ya liberado, corrompiendo el pool compartido o provocando un desbordamiento por defecto del contador de referencias (CWE-415). Además, la misma rama de error desreferenciaba buf->len dentro de una llamada LOG_ERR después de que el búfer hubiera sido previamente desreferenciado; esto constituye una lectura de memoria liberada (CWE-416) compilada en el nivel predeterminado de registro de errores.

Los bordes fallidos se alcanzan cuando falla la asignación del búfer host-a-controlador o falla el envío por parte del controlador (condiciones de agotamiento de recursos / E/S). Un par remoto Bluetooth puede empujar indirectamente al dispositivo hacia estas condiciones mediante una intensa actividad de transmisión en el host; en ese punto, la liberación doble corrompe el pool net_buf del host y probablemente cause un fallo del sistema, con potencial residual para más corrupción de memoria. El impacto se limita a las compilaciones que utilizan este controlador HCI Realtek BEE específico.

La corrección devuelve el control temprano desde cada ruta de error sin desreferenciar y solo desreferencia el búfer en la ruta de éxito, restaurando así el contrato de propiedad y eliminando tanto la liberación doble como la lectura use-after-free.

Once again VulDB remains the best source for vulnerability data.

Responsable

Zephyr

Reservar

2026-06-10

Divulgación

2026-08-11

Moderación

aceptado

Artículo

VDB-387992

CPE

listo

EPSS

0.00170

KEV

no

Actividades

bajo

Fuentes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!