FKIE_CVE-2026-10660
Vulnerability from fkie_nvd - Published: 2026-07-11 17:16 - Updated: 2026-10-25 15:10| Vendor | Product | Version |
|---|
{
"affected": [
{
"affectedData": [
{
"collectionURL": "https://github.com/zephyrproject-rtos/zephyr",
"defaultStatus": "unaffected",
"packageName": "zephyr",
"product": "zephyr",
"programFiles": [
"subsys/bluetooth/audio/bap_broadcast_assistant.c"
],
"vendor": "zephyrproject",
"versions": [
{
"lessThan": "4.3.1",
"status": "affected",
"version": "3.6.0",
"versionType": "semver"
},
{
"lessThan": "4.4.2",
"status": "affected",
"version": "4.4.0",
"versionType": "semver"
}
]
}
],
"source": "vulnerabilities@zephyrproject.org"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "The Bluetooth BAP Broadcast Assistant GATT client in subsys/bluetooth/audio/bap_broadcast_assistant.c reassembled remote Broadcast Receive State data into a single file-static net_buf_simple (att_buf, BT_ATT_MAX_ATTRIBUTE_LEN = 512 bytes) shared by all connection instances, while the BUSY flag, long-read handle, and reset/offset state were per-connection.\n\nWhen the device acts as a Broadcast Assistant connected to multiple Scan Delegator peripherals, notification and long-read callbacks from different connections interleave on the shared buffer: the append in notify_handler (net_buf_simple_add_mem at the not-busy branch) performs no tailroom check, so receive-state notifications from two or more delegators accumulate on the same 512-byte buffer and, with a sufficiently large configured ATT MTU (BT_L2CAP_TX_MTU up to 2000) and two-to-three concurrent connections, write past the buffer into adjacent .bss (net_buf_simple_add only asserts in debug builds).\n\nEven below the overflow threshold, one connection\u0027s net_buf_simple_reset zeroes the shared length while another connection\u0027s reassembly and GATT read offset are in flight, mixing one peer\u0027s data into another\u0027s parse. A malicious or compromised Scan Delegator (or two colluding peers) over BLE can trigger this, causing out-of-bounds writes (memory corruption / denial of service) and cross-connection data corruption.\n\nThe fix moves the buffer into the per-connection instance struct so each connection reassembles into its own buffer. Affects Zephyr releases shipping the Broadcast Assistant with the shared buffer, including v4.4.0 and earlier."
},
{
"lang": "es",
"value": "El cliente GATT Bluetooth BAP Broadcast Assistant en subsys/bluetooth/audio/bap_broadcast_assistant.c reensambl\u00f3 datos remotos de Broadcast Receive State en un \u00fanico net_buf_simple est\u00e1tico de archivo (att_buf, BT_ATT_MAX_ATTRIBUTE_LEN = 512 bytes) compartido por todas las instancias de conexi\u00f3n, mientras que el indicador BUSY, el manejador de lectura larga y el estado de reinicio/desplazamiento eran por conexi\u00f3n.\n\nCuando el dispositivo act\u00faa como un Broadcast Assistant conectado a m\u00faltiples perif\u00e9ricos Scan Delegator, las devoluciones de llamada de notificaci\u00f3n y lectura larga de diferentes conexiones se entrelazan en el b\u00fafer compartido: la adici\u00f3n en notify_handler (net_buf_simple_add_mem en la rama no ocupada) no realiza ninguna comprobaci\u00f3n de espacio restante, por lo que las notificaciones de estado de recepci\u00f3n de dos o m\u00e1s delegadores se acumulan en el mismo b\u00fafer 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\u00e1s all\u00e1 del b\u00fafer en el .bss adyacente (net_buf_simple_add solo se afirma en compilaciones de depuraci\u00f3n).\n\nIncluso por debajo del umbral de desbordamiento, el net_buf_simple_reset de una conexi\u00f3n pone a cero la longitud compartida mientras que el reensamblaje y el desplazamiento de lectura GATT de otra conexi\u00f3n est\u00e1n en curso, mezclando los datos de un par en el an\u00e1lisis de otro. Un Scan Delegator malicioso o comprometido (o dos pares en colusi\u00f3n) a trav\u00e9s de BLE puede desencadenar esto, causando escrituras fuera de l\u00edmites (corrupci\u00f3n de memoria / denegaci\u00f3n de servicio) y corrupci\u00f3n de datos entre conexiones.\n\nLa soluci\u00f3n mueve el b\u00fafer a la estructura de instancia por conexi\u00f3n para que cada conexi\u00f3n reensamble en su propio b\u00fafer. Afecta a las versiones de Zephyr que distribuyen el Broadcast Assistant con el b\u00fafer compartido, incluyendo la v4.4.0 y anteriores."
}
],
"id": "CVE-2026-10660",
"lastModified": "2026-10-25T15:10:00.147",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "HIGH",
"attackVector": "ADJACENT_NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 6.4,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.6,
"impactScore": 4.7,
"source": "vulnerabilities@zephyrproject.org",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-10660",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-13T15:44:09.257224Z",
"version": "2.0.3"
}
}
]
},
"published": "2026-07-11T17:16:23.920",
"references": [
{
"source": "vulnerabilities@zephyrproject.org",
"url": "https://github.com/zephyrproject-rtos/zephyr/commit/0cd61589ff820b6a585c73cb36f1e14b043a2795"
},
{
"source": "vulnerabilities@zephyrproject.org",
"url": "https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-73c7-3rh7-v5p9"
}
],
"sourceIdentifier": "vulnerabilities@zephyrproject.org",
"vulnStatus": "Awaiting Analysis",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-787"
}
],
"source": "vulnerabilities@zephyrproject.org",
"type": "Secondary"
}
]
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.