CVE-2026-85034 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 11. 03.

블루투스 호스트의 GATT 클라이언트가 수신된 Handle Value Notification, Handle Value Indication 또는 Multiple Handle Value Notification의 값을 bt_gatt_subscribe_params::notify 콜백에 전달할 때, 수신된 ATT PDU에서 파생된 길이만 사용했습니다. subsys/bluetooth/host/att.c의 bt_att_recv() 함수는 최소 PDU 길이에 대해서만 유효성을 검사하며 협상된 ATT MTU를 강제하지 않습니다. 또한 subsys/bluetooth/host/l2cap.c에 있는 고정된 ATT L2CAP 채널도 rx.mtu 검사를 적용하지 않으므로, 유일한 상한선은 ACL 재조립 버퍼인 CONFIG_BT_BUF_ACL_RX_SIZE였습니다. 따라서 블루투스 코어 스펙(Vol 3, Part F, Section 3.2.9)에서 정의한 최대 속성 길이인 512 옥텟을 초과하는 값은 해당 문서화된 제한에 따라 버퍼를 크기로 설정된 구독자에게 전달될 수 있었습니다.

기기에 연결하고 구독한 원격 피어(전파 범위 내에 있는 악의적, 스푸핑되거나 침해당한 GATT 서버)가 구독된 핸들에서 512 옥텟을 초과하는 값을 가진 알림 또는 지시사항을 전송함으로써 이 결함을 유발합니다. LE Audio 유니캐스트 클라이언트에서는 구체적인 오버플로우(out-of-bounds write)로 이어집니다: subsys/bluetooth/audio/bap_unicast_client.c의 unicast_client_ep_notify() 함수는 net_buf_simple_add_mem()을 사용하여 알림을 struct unicast_client의 512바이트 att_buf에 복사하며, 길이가 bt_audio_get_max_ntf_size()(즉, 협상된 ATT MTU에서 3을 뺀 값)와 같을 때 tailroom 검사를 수행하지 않습니다. subsys/bluetooth/audio/bap_broadcast_assistant.c의 notify_handler()도 동일한 구조를 가집니다. 오버플로우에 도달하려면 ATT MTU가 515 옥텟을 초과하는 빌드(CONFIG_BT_L2CAP_TX_MTU 및 CONFIG_BT_BUF_ACL_RX_SIZE가 전체 길이 속성 지원을 위해 설정됨)가 필요합니다. 제공되는 기본값은 훨씬 작습니다.

이 오버플로우는 att_buf를 넘어 피어 제어 바이트를 인접한 struct net_buf_simple인 net_buf의 data, __buf, len 및 size 필드 위에 직접 기록합니다. 이는 이후 긴 읽기(long-read) 누적 작업에서 목적지로 사용됩니다. 이로 인해 작은 선형 오버플로우가 통제된 쓰기(controlled write)로 전환됩니다. CONFIG_NET_BUF_HARDENING이 활성화되지 않는 한 net_buf_simple_add()는 불충분한 tailroom에 대해 어서트(assert)하지 않으며, 해당 옵션은 기본적으로 비활성화되어 있으므로 일반 프로덕션 빌드에서 복사가 수행됩니다. 인트리(in-tree) LE Audio 클라이언트 외에도 수신 버퍼를 스펙의 512옥텟 제한으로 크기를 설정한 모든 애플리케이션 구독자는 동일한 오버플로우에 노출되었습니다.

해결책은 subsys/bluetooth/host/gatt.c의 call_notify_cb_and_maybe_unsubscribe() 함수에서 어떤 구독자 콜백도 호출되기 전에 BT_ATT_MAX_ATTRIBUTE_LEN보다 긴 알림, 지시사항 및 다중-알림 값을 거부하므로, 어느 구독자에게도 지정된 최대치 이상의 데이터가 전달되지 않습니다. 다중 핸들 값 알림의 나머지 튜플은 여전히 전달되며, 크기가 초과하는(indications) 것은 여전히 확인됩니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 09. 02.

모더레이션

수락

항목

VDB-430277

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!