CVE-2026-85033
Awaiting Analysis Awaiting Analysis - Queue

Buffer Leak in Zephyr RTOS AVRCP Target

Vulnerability report for CVE-2026-85033, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-03

Last updated on: 2026-11-03

Assigner: Zephyr Project

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-03
Last Modified
2026-11-03
Generated
2026-11-03
AI Q&A
2026-11-03
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
zephyrproject zephyr 4.4.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-459 The product does not properly "clean up" and remove temporary or supporting resources after they have been used.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-85033 is a Bluetooth Classic AVRCP Target implementation flaw in Zephyr RTOS. When a connection drops mid-fragmented vendor-dependent response, the system fails to clean up pending transmit buffers and TX state flags. This leaves the TX state machine stalled, causing all future vendor-dependent responses to queue behind stale data and never transmit. Recovery requires a reboot.

Detection Guidance

This vulnerability affects the Zephyr RTOS Bluetooth Classic AVRCP Target implementation. Detection requires checking for stalled AVRCP vendor-dependent responses or buffer leaks during disconnection. Monitor for persistent loss of AVRCP Target function after connection drops. Check logs for failed fragmented responses (e.g., GetElementAttributes or GetCapabilities) where the ACL link drops mid-transmission.

Impact Analysis

This vulnerability causes permanent loss of AVRCP Target functionality until reboot. It leaks limited response buffers on each failed connection and may deliver unintended data to new peers. The attacker must be a paired Bluetooth device within range, exploiting encrypted BR/EDR links.

Mitigation Strategies

Apply the official patch from Zephyr RTOS that cancels pending TX work and releases queued buffers during disconnection. Upgrade to a version of Zephyr RTOS >= 4.5.0 where this issue is fixed. If immediate patching is not possible, reboot the affected system to clear stale TX state and buffer leaks.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-85033. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...