Back to the CVE list
CVE-2026-85036

Bluetooth Classic AVDTP session reuse re-initializes a queued work item, corrupting the system work queue

CVSS score

5.7

EPSS probability

—

Risk score

0.6

Published

3 h ago

Official patch verified

Etkilenen ürün ve sürüm için yayımlanan güvenlik güncellemesini uygulayın.

Impact on My Inventory

Only the personal products you have added to your account are assessed; an organisation's inventory does not appear here.

Checking session…

Vulnerability description

DayBreach AI Explanation

Verified against sources

Bluetooth Classic AVDTP session reuse leads to system work queue corruption (CVE-2026-85036)

Sources read

2

Source agreement

Tam uyum

Evidence confidence

%63

Short explanation

CVE-2026-85036 is a Bluetooth Classic AVDTP session‑reuse flaw in Zephyr that can corrupt the system work queue, causing a device‑wide denial‑of‑service that requires a reboot.

Why does it matter?

The bug can halt all work processing on affected Zephyr devices, rendering them unusable until power‑cycled.

What should be done?

  • Apply patches from commits ec822ceed83b and 2bd5ea88c
  • Upgrade Zephyr to version 4.3.2 or later, and 4.5.0 or later
  • Follow the vendor advisory for detailed remediation steps
Chain of evidence and sources2 verified claims

CVE-2026-85036, bağlanmış bir Bluetooth cihazı üzerinden saldırganın Zephyr sistem iş kuyruğunu bozan bir istismar sunar ve cihazın yeniden başlatılması gereken hizmet dışı kalmasına yol açar.

ec822ceed83b ve 2bd5ea88c commit’lerini içeren yamalar mevcuttur; Zephyr 4.3.2 veya daha yeni, ayrıca 4.5.0 veya daha yeni sürümlere yükseltmek sorunu çözer.

Show the technical text from the sources

The Bluetooth Classic AVDTP layer defers releasing a session's stream endpoints: bt_avdtp_l2cap_disconnected() in subsys/bluetooth/host/classic/avdtp.c ends with k_work_submit(&session->_release_work), placing the embedded struct k_work on the system work queue's pending list. When the same struct bt_avdtp object is immediately reused for a new signalling connection, the session memory is re-initialized — a2dp_get_connection() in subsys/bluetooth/host/classic/a2dp.c memset()s the whole struct bt_a2dp, and bt_avdtp_l2cap_accept() / bt_avdtp_connect() call k_work_init() on session->_release_work — while that work item is still linked into k_sys_work_q.pending. Zeroing a linked sys_snode_t truncates the list while its tail pointer keeps pointing past the truncation. The reuse window is deterministic rather than a race. All host RX processing runs on the Bluetooth RX work queue at a cooperative priority (CONFIG_BT_RX_PRIO), while _release_work is submitted to the lower-priority system work queue, so the release handler cannot run until the RX thread blocks. Because l2cap_br_recv() processes every signalling command contained in a single L2CAP signalling PDU back-to-back, a peer can send one PDU holding an L2CAP Disconnection Request for the AVDTP signalling channel followed by a Connection Request for PSM 0x0019; the second command reaches the session-reuse path with the release work provably still queued. The peer must already hold an encrypted AVDTP signalling channel, i.e. be a paired/bonded BR/EDR device. The result is corruption of the global system work queue's pending list: either the queue silently stops executing any work at all (subsequent submissions are appended to a chain the head can no longer reach, and the orphaned items keep their K_WORK_QUEUED flag forever) or, in the tail variant, the list acquires a self-referencing node that the queue thread spins on. The written values are pointers to other struct k_work objects and are not attacker-controlled, so the impact is a device-wide, reboot-required denial of service rather than a controllable write primitive. Only builds with CONFIG_BT_CLASSIC and CONFIG_BT_A2DP are affected. The fix is a two-commit unit, and neither commit closes the path on its own. ec822ceed83b adds a pending-release check to bt_avdtp_connect() and bt_avdtp_l2cap_accept(), but the A2DP upper layer's a2dp_get_connection() memset()s the session — including the queued work item's list node and flags — before those checks run, so k_work_busy_get() would observe an already-cleared state. 2bd5ea88c69b closes that by making a2dp_get_connection() itself skip the reuse and return NULL while the release work is still pending, which both callers already handle by rejecting the connection attempt. Apply both commits together; either one alone leaves the device vulnerable.

CVSS vector: CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

CWE: CWE-666

This explanation was compiled automatically from the source records. Scores, active exploitation, patch and exploit status come straight from the sources.

IMPACT: Affected Products and Software

Affected Products

The following products are affected by CVE-2026-85036 vulnerability. Where our threat engine knows the exact affected versions, they are listed below.

IDVENDORPRODUCTACTION
1zephyrprojectzephyr View
Total affected vendors: 1|Products: 1

RED HAT CSAF/VEX: Product Impact Check

Red Hat has not yet published a CSAF/VEX impact record for this CVE. This does not mean “not affected”.

SCORING: CVSS from Multiple Sources

CVSS Scores

The Common Vulnerability Scoring System is a standardised framework for assessing the severity of vulnerabilities in software and systems. We collect and display CVSS scores from several sources for each CVE.

SCOREVERSIONSEVERITYVECTORSOURCE
5.7CVSS V31MEDIUMCVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD
5.7CVSS V3_1MEDIUMCVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCVE CNA

Patch and Remediation Guide

Solution & Remediation Advisory

Patch verified

4 doğrulanmış yama veya düzeltilmiş sürüm kanıtı bulundu.

cvelist

Fix commit ec822ceed83b

Open source
cvelist

Fix commit 2bd5ea88c69b

Open source
reference

Fix commit ec822ceed83b

Open source
reference

Fix commit 2bd5ea88c69b

Open source
Confirm the affected product and version against the source evidence above.
Restrict access to internet-facing services and apply network segmentation.
Apply the official update named in the evidence only to the matching product and version.
Monitor server logs and network endpoints for signs of anomalous execution.

Public exploit and active exploitation status

Verified exploit intelligence

No verified public PoC, exploit repository or Metasploit module has been found for this CVE yet.

Weakness Classification and Attack Patterns (CWE & CAPEC)

CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorises the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-85036 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-85036 weaknesses.

Attack Vector and Accessibility

ExposureBitişik ağ
PermissionsLow
UserGerekmiyor

Official Sources and Advisories

CVSS Vector Radar Chart

5.7 / 10
Attack VectorAdjacentComplexityLowPrivilegesLowUser Interact.NoneConfidentialityLowIntegrityNoneAvailabilityHigh

Vulnerability Scoring Details

CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack VectorAdjacent network
Attack ComplexityLow
Privileges RequiredLow privileges
User InteractionNone required
Confidentiality (Gizlilik)Low
Integrity (Bütünlük)None
Availability (Erişilebilirlik)High

Yama doğrulandı

4 doğrulanmış yama veya düzeltilmiş sürüm kanıtı bulundu.

Follow the vendor

Weakness Type (CWE & CAPEC)

Similar Vulnerabilities

Get this vulnerability through the API

Affected products, version ranges, exploitation status and patch information in a single request, with a free key.

curl -H "x-api-key: $DAYBREACH_API_KEY" \
  "https://api.daybreach.dev/api/v1/intel/cves/CVE-2026-85036"
CVE-2026-85036 · Bluetooth Classic AVDTP session reuse…