CVE-2026-10685 in Zephyrinformación

Resumen

por VulDB • 2026-07-31

El manejador de respuestas CCC-write del cliente GATT Bluetooth en Zephyr, `gatt_write_ccc_rsp()` ubicado en `subsys/bluetooth/host/gatt.c`, invoca la devolución de llamada (callback) `params->subscribe()` de la aplicación después de haber llamado previamente a `params->notify(conn, params, NULL, 0).

Según la API pública GATT, una devolución de llamada notify con datos NULL es la señal documentada que indica que la suscripción ha terminado y que la estructura `bt_gatt_subscribe_params` puede ser liberada o reutilizada por la aplicación; invocar a `subscribe()` sobre dicha estructura posteriormente constituye un uso tras la liberación (use-after-free), incluyendo una llamada indirecta a través del puntero de función `params->subscribe` ya liberado.

La rama de error es alcanzable remotamente (adyacentemente): un dispositivo Zephyr que actúa como cliente GATT y llama a `bt_gatt_subscribe()` puede ser forzado a seguir este orden cuando un par servidor GATT conectado responde a la escritura CCC con una Respuesta de Error ATT (el código de error proporcionado por el par fluye a través de `att_error_rsp` -> `att_handle_rsp` hasta llegar a `gatt_write_ccc_rsp`).

Para las aplicaciones que liberan o reciclan los parámetros de suscripción en su manejador de terminación de notificación, esto resulta en corrupción de memoria, un bloqueo (denegación de servicio) o potencialmente en un flujo de control influenciado por el atacante. La corrección reordena el manejador para que la devolución de llamada `subscribe()` se ejecute antes del `notify(NULL)` finalizador tanto en las rutas de error como de cancelación de suscripción.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Zephyr

Reservar

2026-06-02

Divulgación

2026-07-31

Moderación

aceptado

Artículo

VDB-385079

CPE

listo

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!