Skip to main content
← Vulnerabilities

Bluetooth Classic AVRCP Target: missing TX cleanup on disconnect permanently stalls vendor-dependent responses and leaks them to the next…

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

4.6MediumCNA
Exploited
No known exploitation
Fix
Fixed in 4.5.0
Who is exposed
Not reported

Do first: Upgrade to a fixed version: 4.5.0.

5Pcve.now Index 5 of 100 · methodology v3 · provisional
  • Exploitation0/40No signal
  • Exposure?/25Exposure: unknown (data gap). No advisory context yet
  • Reach?/20Reach: unknown (data gap). No tracked technology or package matched
  • Severity4.6/10CVSS 4.6
  • No patch0/5No signal

What would change the score

  • Would score about 60 if added to CISA KEV
  • Would score about 55 if CISA's SSVC rates exploitation active
  • Would score about 27 if advisories confirm default setups are exposed

CVE-2026-85033 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 4.6 (medium) and affects zephyr; fixed in 4.5.0.

Published
Last modified
Published
Not listed in CISA KEV
5/100 · provisional
Fix
Fixed in 4.5.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

The affected software is the Bluetooth Classic AVRCP Target implementation in Zephyr's Bluetooth host stack, which handles vendor-dependent responses for paired peers. A nearby, paired remote device can disconnect mid-transfer to permanently stop the device's AVRCP Target from sending responses until it reboots, and can cause leftover response data from one peer to be sent to a later connecting peer.

Read the original description

The AVRCP Target role in subsys/bluetooth/host/classic/avrcp.c keeps its vendor-dependent response transmit state in a per-connection object selected by connection index (get_avrcp_tg()), with the per-transfer context (tid, sent_len, and the BT_AVRCP_TG_FLAG_TX_ONGOING flag) stored in the user_data of the queued response net_buf. The AVCTP teardown handler avrcp_disconnected() did not cancel tg->vd_rsp_tx_work and did not release the buffers still queued on tg->vd_rsp_tx_pending, so a link drop in the middle of a fragmented response left the buffer on the list with TX_ONGOING still set. A remote AVRCP Controller can trigger this deterministically: it issues a vendor-dependent command whose response exceeds one AVRCP fragment (for example GetElementAttributes or GetCapabilities), lets bt_avrcp_tg_vendor_tx_work() emit the START fragment, and then drops the ACL link instead of sending REQUEST_CONTINUING_RESPONSE. The AVCTP control channel requires an encrypted BR/EDR link (BT_SECURITY_L2), so the attacker must be a paired peer within radio range; no user interaction is needed. Because the Target objects are static and reused, the next connection landing on the same connection index finds the stale buffer at the head of vd_rsp_tx_pending. Every run of the TX work sees TX_ONGOING and returns immediately, so all further vendor-dependent responses queue behind the stale head and are never sent — a persistent loss of AVRCP Target function that no timeout clears and only a reboot recovers. Each cycle also leaks one response buffer from a shallow application pool, and a new peer that sends REQUEST_CONTINUING_RESPONSE clears the stale TX_ONGOING via bt_avrcp_tg_process_continuing_cmd(), causing the un-sent remainder of the previous peer's response to be transmitted to it. The fix cancels tg->vd_rsp_tx_work and unrefs every buffer on tg->vd_rsp_tx_pending in avrcp_disconnected(); since the TX context lives in the buffer user_data, releasing the buffers also resets the TX state machine. There is no memory corruption: the pre-fix buffer is leaked with a live reference, so no use-after-free arises.

What to do

  • Upgrade to a fixed version: 4.5.0.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • zephyr

    From 4.4.0 · fixed in 4.5.0

Evidence 2

  1. Advisory
  2. Patch

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

FAQ

Questions about CVE-2026-85033

Is CVE-2026-85033 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data

Which versions are affected by CVE-2026-85033?

zephyr: from 4.4.0 before 4.5.0.Source: cve.now feed data

How do I fix CVE-2026-85033?

Upgrade to a fixed version: 4.5.0.Source: cve.now feed data