> CVE-2026-19939 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2026-10-13 17:17
MODIFIED
2026-10-13 17:17
CVSS_SCORE V3
6.3
EPSS (Prob. Exploit)
0.18%
Top 93.0%
DATA SOURCES:
NVD đź”— 2026-10-13 FIRST EPSS đź”— 2026-10-17 OSV đź”— 2026-10-17

> DESCRIPTION

The AVDTP signalling layer arms a 6-second command timeout (AVDTP_TIMEOUT) in avdtp_send_cmd() whenever the local device issues an AVDTP request. Every response handler in subsys/bluetooth/host/classic/avdtp.c cancels session->timeout_work before clearing the pending request, but bt_avdtp_l2cap_disconnected() only cleared session->req and left the delayable work armed. The struct bt_avdtp session is the first member of struct bt_a2dp, whose instances live in a static per-connection array, and a2dp_get_connection() in subsys/bluetooth/host/classic/a2dp.c wipes a slot with memset() as soon as session->br_chan.chan.conn is NULL — which the L2CAP layer arranges immediately after the disconnect callback returns. A remote Bluetooth BR/EDR peer triggers the condition by opening the AVDTP signalling channel, letting the local application issue an AVDTP procedure (the standard A2DP flow issues bt_a2dp_discover() from the connected callback), then tearing the signalling channel down without responding and re-opening it within the remaining timeout window. The reconnect reaches a2dp_accept() → a2dp_get_connection(), which zeroes the whole struct bt_a2dp while the work item's struct _timeout is still linked into the kernel's global timeout list. Both the disconnect and the reconnect instants are chosen by the attacker, so no race has to be won; an encrypted BR/EDR link is required, and CONFIG_BT_A2DP (experimental) must be enabled. With the default CONFIG_TIMEOUT_BACKEND_DLIST backend the kernel decides a timeout is inactive by testing whether its list node is linked, so after the memset() the kernel treats a node that is still on the global timeout list as free: the announce path pops a node whose links and handler pointer are NULL, and the next bt_work_reschedule() on the recycled session re-inserts the same node into a list that already contains it. The consequence is corruption of the single kernel data structure every timer, timeslice and sleep depends on — writes through zeroed or stale list pointers and a NULL handler dispatch — producing a system-wide crash or hang rather than a fault confined to the A2DP session. The fix cancels session->timeout_work at the top of bt_avdtp_l2cap_disconnected() and moves k_work_init_delayable() from avdtp_send_cmd() to the session-establishment paths bt_avdtp_connect() and bt_avdtp_l2cap_accept(), so the work item is always initialized before a disconnect callback can run.

> AFFECTED_PRODUCTS

ℹ️ Aucun produit affecté n'a encore été publié par NVD pour cette CVE.
Cette CVE est récente (5 days ago) - les informations détaillées peuvent prendre quelques jours.

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
EXPLOITABILITY
2.1
IMPACT
4.2

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Adjacent (A)
Exploit nécessite un accès au segment réseau local
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
None (N)
Aucune interaction utilisateur nécessaire
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
None (N)
Aucune divulgation d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
High (H)
Interruption totale du service possible

> RÉSUMÉ DES IMPACTS

Confidentialité
None
Aucune divulgation d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
High
Interruption totale du service possible

> WEAKNESSES

CWE-825

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Bluetooth Classic AVDTP: stale timeout work on signalling-channel disconnect leads to kernel timeout-list corruption

AFFECTED PACKAGES:
Unknown / Unknown
21 versions affected
ALIASES:
GHSA-9mww-f3h4-mq95

> HISTORIQUE DES MODIFICATIONS

Première apparition
13/10/2026 17:17
Source: NVD
Total des modifications: 0 Dernière mise à jour: 5 days ago

> REFERENCES

https://github.com/zephyrproject-rtos/zephyr/commit/a10d18c3be9d1a968574dbfbce6b...
https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-9mww-f3h4-...
« BACK_TO_HOME