🔍 CVE-2026-9263

6.5
CVSS Score
MEDIUM
2026-06-30
2026-10-15 23:19
✅ 완료

🇰🇷 한글 설명

Zephyr Bluetooth 컨트롤러의 ISO 적응 계층에서 프레임화된 ISO PDU 시작 세그먼트의 길이 필드를 검증하지 못하는 취약점이 발견되었습니다. 공격자가 조작된 세그먼트를 전송할 경우 정수 언더플로우가 발생하여 컨트롤러 메모리의 최대 255바이트가 호스트로 유출되거나 서비스 거부가 발생할 수 있습니다.

💡 쉬운 설명

블루투스 통신 과정에서 데이터의 길이를 확인하는 과정에 오류가 있어, 해커가 가짜 데이터를 보내 기기 내부의 중요한 정보를 몰래 빼가거나 기기를 멈추게 할 수 있습니다.

🇺🇸 원문 (English)

The Zephyr Bluetooth controller ISO Adaptation Layer (subsys/bluetooth/controller/ll_sw/isoal.c) fails to validate the length field of a framed ISO PDU start segment. Per the Bluetooth specification a start segment (sc=0) always carries a 3-byte time_offset, so its segment-header len must be at least PDU_ISO_SEG_TIMEOFFSET_SIZE (3). isoal_check_seg_header() accepted start segments with len < 3 as valid, and isoal_rx_framed_consume() then computed length = seg_hdr->len - 3 in a uint8_t, underflowing to 253-255 when len is 0-2. That oversized length is passed to isoal_rx_append_to_sdu(), whose copy is clamped only against the destination SDU buffer size, not the source PDU length, so up to ~255 bytes of controller memory beyond the received PDU are copied (via sink_sdu_write_hci()/net_buf_add_mem) into an HCI ISO data packet and delivered to the host. The PDU and its segment headers are entirely attacker-controlled and arrive over the air, reachable through both the CIS and BIS-sync HCI data paths (hci_driver.c) and the vendor data path (ull_iso.c), so a remote CIS peer or a broadcaster the device is synced to can trigger an out-of-bounds read causing information disclosure to the host and potential denial of service (faults or malformed oversized HCI ISO packets). The flaw affects all Zephyr releases since framed ISO reception was introduced in v3.0.0. The fix rejects sc=0 segments with len < 3 in isoal_check_seg_header() and adds a guard before the subtraction in isoal_rx_framed_consume().

📍 영향받는 시스템

Zephyr RTOS v3.0.0 이상 모든 버전 (framed ISO 수신 기능 도입 이후)

⚔️ 공격 벡터

원격의 CIS 피어 또는 BIS 동기화된 브로드캐스터를 통한 무선 공격 (Over-the-air)

🛡️ 대응 방법

isoal_check_seg_header()에서 길이 검증 로직을 적용하고 isoal_rx_framed_consume()에 가드 코드를 추가한 최신 패치 적용

🔧 검증 코드

출력된 버전이 v3.0.0 이상인지 확인하여 취약한 프레임 ISO 기능 포함 여부를 판단합니다.

Shell / Script
git describe --match 'v*' | grep -E 'v3\.[0-5]\.'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Windows Bluetooth Service