


Perceptive Security
SOC/SIEM Consultancy

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() c…
Published:
31 July 2026 at 00:00:00
Alert date:
31 July 2026 at 18:01:19
Source:
nvd.nist.gov
Mobile & IoT, Zero-Day Vulnerabilities
CVE-2026-10685 describes a use-after-free vulnerability in the Zephyr RTOS Bluetooth stack, specifically in the GATT client CCC-write response handler (gatt_write_ccc_rsp()) in subsys/bluetooth/host/gatt.c. The handler incorrectly invokes the application's subscribe() callback after already calling the notify() callback with NULL data, which per the GATT API signals subscription termination and allows the bt_gatt_subscribe_params struct to be freed. This ordering bug means subscribe() may be called on already-freed memory, constituting a use-after-free. The vulnerability is remotely reachable by an adjacent Bluetooth peer acting as a GATT server that responds to a CCC write with an ATT Error Response. Exploitation can result in memory corruption, denial of service via crash, or potentially attacker-controlled code execution through a corrupted function pointer. The fix reorders callback invocations so subscribe() is called before the terminating notify(NULL) in both error and unsubscribe paths.
Technical details
Mitigation steps:
Affected products:
Zephyr RTOS
Zephyr Bluetooth GATT client
Related links:
https://nvd.nist.gov/vuln/detail/CVE-2026-10685
https://github.com/zephyrproject-rtos/zephyr/commit/c7292f20223637232b6f962141725611a38f6a52
https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-29xh-jm2m-4qvx
Related CVE's:
Related threat actors:
IOC's:
This article was created with the assistance of AI technology by Perceptive.
