CVE-2026-10685 in Zephyrinformazioni

Riassunto

di VulDB • 31/07/2026

Il gestore delle risposte alla scrittura CCC del client GATT Bluetooth di Zephyr, `gatt_write_ccc_rsp()` nel file `subsys/bluetooth/host/gatt.c`, invocava la callback dell'applicazione `params->subscribe()` dopo aver già chiamato `params->notify(conn, params, NULL, 0)`.

Secondo l'API GATT pubblica, una callback notify con dati NULL è il segnale documentato che indica la terminazione della sottoscrizione e che la struttura `bt_gatt_subscribe_params` può essere liberata o riutilizzata dall'applicazione; chiamare successivamente `subscribe()` sulla struttura costituisce un use-after-free, inclusa una chiamata indiretta attraverso il puntatore di funzione `params->subscribe` già liberato.

Il ramo dell'errore è raggiungibile da remoto (in modalità adiacente): un dispositivo Zephyr che agisce come client GATT e chiama `bt_gatt_subscribe()` può essere portato a questa sequenza errata quando un peer server GATT connesso risponde alla scrittura CCC con una risposta di errore ATT (il codice di errore fornito dal peer fluisce attraverso `att_error_rsp` -> `att_handle_rsp` fino a `gatt_write_ccc_rsp`).

Per le applicazioni che liberano o riciclano i parametri di sottoscrizione nel loro gestore di terminazione della notifica, ciò provoca corruzione della memoria, un crash (denial of service) o potenzialmente un controllo del flusso influenzato dall'attaccante. La correzione riordina il gestore in modo che la callback `subscribe()` venga eseguita prima della `notify(NULL)` di terminazione sia nei percorsi di errore che nel percorso di unsubscribe.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsabile

Zephyr

Prenotare

02/06/2026

Divulgazione

31/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Want to know what is going to be exploited?

We predict KEV entries!