🔍 CVE-2026-10660

6.4
CVSS Score
MEDIUM
2026-07-11
2026-10-25 15:10
✅ 완료

🇰🇷 한글 설명

Bluetooth BAP Broadcast Assistant의 GATT 클라이언트가 모든 연결 인스턴스에서 공유되는 단일 정적 버퍼를 사용하여 원격 데이터를 재조립하는 과정에서 발생하는 취약점입니다. 여러 연결에서 발생하는 알림과 읽기 콜백이 공유 버퍼에 섞이면서 버퍼 경계를 넘어 인접한 메모리에 데이터를 쓰는 Out-of-bounds 쓰기 오류가 발생할 수 있습니다. 이로 인해 메모리 오염, 서비스 거부(DoS) 또는 연결 간 데이터 혼선이 발생할 수 있습니다.

💡 쉬운 설명

여러 개의 블루투스 연결이 하나의 공용 메모리 공간을 함께 사용하면서 발생하는 문제입니다. 악의적인 장치가 이 공간에 데이터를 과도하게 보내면 메모리가 넘쳐 시스템이 멈추거나 데이터가 엉키게 됩니다.

🇺🇸 원문 (English)

The Bluetooth BAP Broadcast Assistant GATT client in subsys/bluetooth/audio/bap_broadcast_assistant.c reassembled remote Broadcast Receive State data into a single file-static net_buf_simple (att_buf, BT_ATT_MAX_ATTRIBUTE_LEN = 512 bytes) shared by all connection instances, while the BUSY flag, long-read handle, and reset/offset state were per-connection. When the device acts as a Broadcast Assistant connected to multiple Scan Delegator peripherals, notification and long-read callbacks from different connections interleave on the shared buffer: the append in notify_handler (net_buf_simple_add_mem at the not-busy branch) performs no tailroom check, so receive-state notifications from two or more delegators accumulate on the same 512-byte buffer and, with a sufficiently large configured ATT MTU (BT_L2CAP_TX_MTU up to 2000) and two-to-three concurrent connections, write past the buffer into adjacent .bss (net_buf_simple_add only asserts in debug builds). Even below the overflow threshold, one connection's net_buf_simple_reset zeroes the shared length while another connection's reassembly and GATT read offset are in flight, mixing one peer's data into another's parse. A malicious or compromised Scan Delegator (or two colluding peers) over BLE can trigger this, causing out-of-bounds writes (memory corruption / denial of service) and cross-connection data corruption. The fix moves the buffer into the per-connection instance struct so each connection reassembles into its own buffer. Affects Zephyr releases shipping the Broadcast Assistant with the shared buffer, including v4.4.0 and earlier.

📍 영향받는 시스템

Zephyr v4.4.0 및 Broadcast Assistant를 포함하는 이전 버전

⚔️ 공격 벡터

악의적이거나 탈취된 Scan Delegator 장치가 BLE를 통해 다수의 연결을 생성하고 대용량 ATT MTU를 사용하여 공유 버퍼에 데이터를 누적시킴

🛡️ 대응 방법

공유 버퍼를 각 연결 인스턴스별 개별 버퍼로 이동시킨 최신 Zephyr 버전으로 업데이트

🔧 검증 코드

시스템의 커널 버전이 Zephyr v4.4.0 이하인지 확인하여 취약 여부를 판단합니다.

Shell / Script
uname -a | grep -i 'zephyr' || echo 'Zephyr kernel not detected'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Windows Bluetooth Service