CVE-2026-10685

HIGHPre-NVD 7.67.6
EchelonGraph scoreMEDIUM confidence

This high-severity CVE scores 7.6 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 78% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
7.6EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.6Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

The Zephyr Bluetooth GATT client CCC-write response handler gatt_write_ccc_rsp() in subsys/bluetooth/host/gatt.c invoked the application's params->subscribe() callback after it had already called params->notify(conn, params, NULL, 0).

Per the public GATT API, a notify callback with NULL data is the documented signal that the subscription has terminated and the bt_gatt_subscribe_params struct may be freed or reused by the application; calling subscribe() on the struct afterwards is a use-after-free, including an indirect call through the freed params->subscribe function pointer.

The error branch is remotely (adjacent) reachable: a Zephyr device acting as a GATT client that calls bt_gatt_subscribe() can be driven into this ordering when a connected GATT server peer answers the CCC write with an ATT Error Response (the peer-supplied error code flows through att_error_rsp -> att_handle_rsp into gatt_write_ccc_rsp).

For applications that free or recycle subscription parameters in their notification-termination handler, this results in memory corruption, a crash (denial of service), or potentially attacker-influenced control flow. The fix reorders the handler so the subscribe() callback runs before the terminating notify(NULL) in both the error and unsubscribe paths.

CVSS v3
7.6
EG Score
7.6(medium)
EG Risk
34(Track)
EG Risk 34/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity76% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
22%
KEV
Not listed

Published

July 31, 2026

Last Modified

August 7, 2026

Advisory Details (2)

Auto-updated Jul 31, 2026
Patch available. Sources: github, github_commit.
github Patch Available

Use-after-free of GATT subscribe params in Bluetooth host CCC-write response handler · Advisory · zephyrproject-rtos/zephyr · GitHub

https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-29xh-jm2m-4qvx
github_commit

commit c7292f202236 (zephyrproject-rtos/zephyr)

Fix landed in zephyrproject-rtos/zephyr commit c7292f202236 — awaiting tagged release

https://github.com/zephyrproject-rtos/zephyr/commit/c7292f20223637232b6f962141725611a38f6a52

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 9× in last 7d / 55× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-08-30 01:21 UTCEPSS rescore
  2. 2026-08-29 22:22 UTCEG score recompute
  3. 2026-08-28 21:40 UTCEPSS rescore
  4. 2026-08-27 22:12 UTCEG score recompute
  5. 2026-08-27 14:24 UTCEPSS rescore
  6. 2026-08-26 21:01 UTCEG score recompute
  7. 2026-08-25 19:13 UTCEG score recompute
  8. 2026-08-25 13:48 UTCEPSS rescore
  9. 2026-08-24 17:47 UTCEG score recompute
  10. 2026-08-23 02:30 UTCEG score recompute
  11. 2026-08-23 00:19 UTCEPSS rescore
  12. 2026-08-22 01:20 UTCEG score recompute
  13. 2026-08-21 23:48 UTCEPSS rescore
  14. 2026-08-21 00:10 UTCEG score recompute
  15. 2026-08-20 22:55 UTCEPSS rescore
  16. 2026-08-19 22:57 UTCEG score recompute
  17. 2026-08-19 17:03 UTCEPSS rescore
  18. 2026-08-18 21:44 UTCEG score recompute
  19. 2026-08-18 13:48 UTCEPSS rescore
  20. 2026-08-16 17:11 UTCEG score recompute
  21. 2026-08-16 14:56 UTCEPSS rescore
  22. 2026-08-16 04:36 UTCEG score recompute
  23. 2026-08-16 02:14 UTCEPSS rescore
  24. 2026-08-15 03:26 UTCEG score recompute
  25. 2026-08-15 01:30 UTCEPSS rescore
Show 30 more
  1. 2026-08-14 02:15 UTCEG score recompute
  2. 2026-08-13 22:00 UTCEPSS rescore
  3. 2026-08-13 01:00 UTCEG score recompute
  4. 2026-08-12 13:50 UTCEPSS rescore
  5. 2026-08-11 23:50 UTCEG score recompute
  6. 2026-08-11 13:42 UTCEPSS rescore
  7. 2026-08-11 11:14 UTCEG score recompute
  8. 2026-08-10 23:59 UTCEPSS rescore
  9. 2026-08-09 21:28 UTCEG score recompute
  10. 2026-08-09 13:46 UTCEPSS rescore
  11. 2026-08-08 20:18 UTCEG score recompute
  12. 2026-08-08 16:37 UTCEPSS rescore
  13. 2026-08-07 16:32 UTCEG score recompute
  14. 2026-08-06 15:22 UTCEG score recompute
  15. 2026-08-06 13:46 UTCEPSS rescore
  16. 2026-08-06 02:46 UTCEG score recompute
  17. 2026-08-05 19:17 UTCEPSS rescore
  18. 2026-08-05 01:11 UTCEG score recompute
  19. 2026-08-04 15:09 UTCEPSS rescore
  20. 2026-08-04 12:26 UTCEG score recompute
  21. 2026-08-04 10:38 UTCEPSS rescore
  22. 2026-08-03 21:57 UTCEG score recompute
  23. 2026-08-03 10:35 UTCEPSS rescore
  24. 2026-08-02 08:08 UTCEG score recompute
  25. 2026-08-02 02:26 UTCEPSS rescore
  26. 2026-07-31 18:19 UTCEG score recompute
  27. 2026-07-31 18:04 UTCEG score recompute
  28. 2026-07-31 15:27 UTCEG score recompute
  29. 2026-07-31 14:50 UTCEG score recompute
  30. 2026-07-31 14:48 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-10685?
CVE-2026-10685 is a high vulnerability published on July 31, 2026. The Zephyr Bluetooth GATT client CCC-write response handler gattwriteccc_rsp() in subsys/bluetooth/host/gatt.c invoked the application's params->subscribe() callback after it had already called params->notify(conn, params, NULL, 0). Per the public GATT API, a notify callback with NULL data is the…
When was CVE-2026-10685 disclosed?
CVE-2026-10685 was first published in the National Vulnerability Database on July 31, 2026, with the most recent update on August 7, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-10685 actively exploited?
CVE-2026-10685 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 78.1% of all scored CVEs.
What is the CVSS score of CVE-2026-10685?
CVE-2026-10685 has a CVSS v3 base score of 7.6 (NVD).
How do I remediate CVE-2026-10685?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-10685, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-10685

Explore →

Is Your Infrastructure Affected by CVE-2026-10685?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.