CVE-2026-19739 in Zephyr정보

요약

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

Bluetooth Link Layer의 제어 절차 코드는 subsys/bluetooth/controller/ll_sw/ull_llcp_conn_upd.c에 위치하며, 연결 업데이트(Connection Update) 또는 연결 파라미터(Connection Parameter) 절차가 해당 인스턴트(instant)를 기다리는 동안 수신된 RX 노드를 유지합니다. 이로 인해 나중에 그 노드가 호스트 알림(llcp_rx_node_retain(), 이는 NODE_RX_TYPE_RETAIN으로 표시하여 ull.c에서의 정상적인 재활용을 억제함)을 운반할 수 있습니다. llcp_rp_cu_rx() 및 llcp_lp_cu_rx()의 기본 arm(즉, "잘못된 PDU이므로 연결 종료" 경로)은 해당 유지된 노드를 해제하지 않고 절차를 완료합니다. 이후 llcp_rr_check_done()는 ctx->node_ref.rx가 여전히 유지된 노드를 가리키고 있는 상태로 절차 컨텍스트를 디큐(dequeue)하고 해제하여, 해당 노드에 대한 마지막 참조를 드롭(drop)시킵니다.

전파 범위 내의 피어 장치는 페어링(pairing), 바인딩(bonding), 또는 암호화 없이도 이 취약점에 접근할 수 있습니다. 주변 장치(peripheral)에 대해 피어는 몇몇 연결 이벤트 이후의 인스턴트를 가진 정형화된 LL_CONNECTION_UPDATE_IND를 보내고(노드가 유지되고 절차가 RP_CU_STATE_WAIT_INSTANT 상태로 진입함), 그 후 인스턴트가 도달하기 전에 LL_LENGTH_REQ와 같은 다른 모든 LL Control PDU를 보냅니다. ull_cp_rx()는 해당 PDU를 활성 원격 연결 업데이트 절차로 라우팅하며, 이는 잘못된-PDU 경로를 취합니다. 중앙 장치(central) 역할은 LL_CONNECTION_PARAM_REQ 수락 후에 대칭적으로 접근 가능하며, 로컬-절차 변형 버전(LL_REJECT_IND 사용 시)도 도달 가능합니다.

CONFIG_BT_CTLR_ASSERT_DEBUG가 활성화된 경우(기본값임), 결과적인 상태는 llcp_rr_check_done()에서 주장되는 불변식(invariant)을 위반하므로, 두 개의 PDU로 구성된 시퀀스는 컨트롤러에서 즉각적인 치명적 오류를 발생시킵니다. 이러한 어서트(asserts)가 비활성화된 경우, 각 발생마다 컨트롤러의 작은 고정 RX 풀(CONFIG_BT_CTLR_RX_BUFFERS에 의해 결정되며 기본값은 1임)에서 노드가 하나 영구적으로 손실됩니다. 재연결 시 이 시퀀스를 반복하면 풀이 고갈되고, 이후 링크 레이어 수신 경로는 NULL 노드 위에서 작동하게 됩니다. 그 영향은 부팅까지 지속되는 인증되지 않은 원격 트리거형 서비스 거부(Denial of Service)입니다. 누출된 노드가 단순히 도달 불가능해지므로 메모리 공개(memory-disclosure)나 메모리 손상(memory-corruption)의 결과는 없습니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Zephyr

예약하다

2026. 08. 13.

모더레이션

수락

항목

VDB-416741

EPSS

0.00000

활동

낮음

출처

Want to know what is going to be exploited?

We predict KEV entries!