Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en zephyr de zephyrproject (CVE-2026-10660)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787 Escritura fuera de límites
Fecha de publicación:
11/07/2026
Última modificación:
25/10/2026

Descripción

El cliente GATT Bluetooth BAP Broadcast Assistant en subsys/bluetooth/audio/bap_broadcast_assistant.c reensambló datos remotos de Broadcast Receive State en un único net_buf_simple estático de archivo (att_buf, BT_ATT_MAX_ATTRIBUTE_LEN = 512 bytes) compartido por todas las instancias de conexión, mientras que el indicador BUSY, el manejador de lectura larga y el estado de reinicio/desplazamiento eran por conexión.<br /> <br /> Cuando el dispositivo actúa como un Broadcast Assistant conectado a múltiples periféricos Scan Delegator, las devoluciones de llamada de notificación y lectura larga de diferentes conexiones se entrelazan en el búfer compartido: la adición en notify_handler (net_buf_simple_add_mem en la rama no ocupada) no realiza ninguna comprobación de espacio restante, por lo que las notificaciones de estado de recepción de dos o más delegadores se acumulan en el mismo búfer de 512 bytes y, con una MTU ATT configurada suficientemente grande (BT_L2CAP_TX_MTU hasta 2000) y de dos a tres conexiones concurrentes, escriben más allá del búfer en el .bss adyacente (net_buf_simple_add solo se afirma en compilaciones de depuración).<br /> <br /> Incluso por debajo del umbral de desbordamiento, el net_buf_simple_reset de una conexión pone a cero la longitud compartida mientras que el reensamblaje y el desplazamiento de lectura GATT de otra conexión están en curso, mezclando los datos de un par en el análisis de otro. Un Scan Delegator malicioso o comprometido (o dos pares en colusión) a través de BLE puede desencadenar esto, causando escrituras fuera de límites (corrupción de memoria / denegación de servicio) y corrupción de datos entre conexiones.<br /> <br /> La solución mueve el búfer a la estructura de instancia por conexión para que cada conexión reensamble en su propio búfer. Afecta a las versiones de Zephyr que distribuyen el Broadcast Assistant con el búfer compartido, incluyendo la v4.4.0 y anteriores.