CVE-2026-75084 in Zephyr정보

요약

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

CC1200의 sub-GHz IEEE 802.15.4 드라이버는 get_packet_length()에서 라디오의 RX FIFO 첫 번째 바이트로부터 PHY 패킷 길이를 가져오고, verify_rxfifo_validity()(drivers/ieee802154/ieee802154_cc1200.c)에서 이를 검증합니다. 해당 검증은 하한선(pkt_len < 3)만 강제하며, 두 번째 절은 선언된 것보다 더 많은 바이트를 포함하는 FIFO를 거부하므로 큰 값에 대한 상한선은 설정되지 않습니다. 드라이버는 PKT_LEN = 0xFF로 라디오가 가변 패킷 길이를 사용하도록 구성했으므로, 길이 바이트는 0-255 범위의 무선 전송(over-the-air) 값이며 net_pkt_rx_alloc_with_buffer()와 그 후속 SPI 버스트 읽기에 클램핑(clamping) 없이 전달됩니다.

무선 범위 내에 있는 인증되지 않은 공격자는 CC1200 칩의 128바이트 RX FIFO가 오버플로우하지 않는 동안 IEEE 802.15.4 최대치인 127을 초과하는 길이 바이트를 제시하는 프레임을 전송할 수 있으며, 이로 인해 드라이버의 RX_FIFO_ERROR 사전 검사가 발동되지 않습니다. 이 상태에 도달하기 위해서는 RF 프레임 구성과 타이밍이 중요하며, RX 스레드는 PKT_SYNC_RXTX 신호에 의해 구동되어 패킷이 완료되기 전에 FIFO를 샘플링할 수 있으므로 페어링, 인증 또는 사용자 상호작용은 필요하지 않습니다.

기본 CONFIG_NET_BUF_FIXED_DATA_SIZE 및 CONFIG_NET_BUF_DATA_SIZE=128 설정에서 1개 분편(fragment)보다 큰 할당은 분편의 체인으로 처리되지만, read_rxfifo_content()는 pkt_len 바이트에 해당하는 단일 SPI 버스트를 첫 번째 분편의 buf->data로 수행한 후 동일한 길이로 net_buf_add()를 호출합니다. 따라서 128을 초과하는 길이는 연속적인 rx_bufs 풀에서 분편 끝보다 최대 127바이트까지 쓰기를 수행하며, 용량을 초과하는 len 값을 가진 net_buf를 남깁니다. 오버플로우된 바이트는 공격자가 선택한 데이터가 아닌 FIFO 언더플로우 출력물이므로, 실제 영향은 제어된 쓰기보다는 네트워크 버퍼 풀 손상 및 크래시입니다. CONFIG_IEEE802154_CC1200을 활성화하고 CC1200 라디오가 연결되어 있는 빌드만 영향을 받습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Zephyr

예약하다

2026. 08. 17.

모더레이션

수락

항목

VDB-420242

EPSS

0.00000

활동

낮음

출처

Do you know our Splunk app?

Download it now for free!