Katalog CVE

CVE-2026-75084

ŚrednieCVSS 6.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.29%

Percentyl 20 - wyżej niż 20% wszystkich znanych CVE

Streszczenie

Sterownik CC1200 dla IEEE 802.15.4 pobiera długość pakietu PHY z pierwszego bajtu RX FIFO w funkcji get_packet_length() i waliduje ją w verify_rxfifo_validity(), gdzie sprawdzany jest tylko dolny limit (pkt_len < 3), bez górnego ograniczenia. Ponieważ radio pracuje w trybie zmiennej długości pakietu (PKT_LEN = 0xFF), bajt długości 0-255 trafia bez ograniczenia do net_pkt_rx_alloc_with_buffer() i odczytu SPI. Nieuwierzytelniony atakujący w zasięgu radiowym może wysłać ramkę z bajtem długości powyżej 127, co prowadzi do zapisu poza końcem fragmentu bufora sieciowego.

Ocena ryzyka

Może dojść do uszkodzenia puli buforów sieciowych (network-buffer-pool) i awarii systemu. Nadpisane bajty pochodzą z niedoboru FIFO, a nie są kontrolowane przez atakującego, więc ryzyko dotyczy głównie destabilizacji i crashy, a nie zdalnego wykonania kodu.

Rekomendacja

Zaktualizuj sterownik do wersji zawierającej poprawkę ograniczającą górny limit długości pakietu, jeśli jest dostępna. Jeśli aktualizacja nie jest możliwa, rozważ wyłączenie CONFIG_IEEE802154_CC1200 lub ograniczenie ekspozycji radiowej do zaufanych urządzeń.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

The CC1200 sub-GHz IEEE 802.15.4 driver takes the PHY packet length from the first byte of the radio's RX FIFO in get_packet_length() and validates it in verify_rxfifo_validity() (drivers/ieee802154/ieee802154_cc1200.c). That validation only enforced a lower bound (pkt_len < 3); its second clause rejects a FIFO that holds more bytes than declared and therefore never bounds large values. Because the driver configures the radio for variable packet length with PKT_LEN = 0xFF, the length byte is an over-the-air value of 0-255 that reached net_pkt_rx_alloc_with_buffer() and the subsequent SPI burst read unclamped. An unauthenticated attacker within radio range can transmit a frame that presents a length byte above the IEEE 802.15.4 maximum of 127 while the chip's 128-byte RX FIFO has not overflowed, so the driver's RX_FIFO_ERROR pre-check does not fire. Reaching this state depends on RF framing and timing, since the RX thread is driven off the PKT_SYNC_RXTX signal and may sample the FIFO before a packet is complete; no pairing, authentication, or user interaction is required. With the default CONFIG_NET_BUF_FIXED_DATA_SIZE and CONFIG_NET_BUF_DATA_SIZE=128, an allocation larger than one fragment is satisfied by a chain of fragments, but read_rxfifo_content() performs a single SPI burst of pkt_len bytes into the first fragment's buf->data and then calls net_buf_add() with the same length. A length above 128 therefore writes up to 127 bytes past the end of a fragment in the contiguous rx_bufs pool and leaves a net_buf whose len exceeds its capacity. The overflowing bytes are FIFO-underflow output rather than attacker-chosen data, so the practical impact is network-buffer-pool corruption and crashes rather than a controlled write. Only builds that enable CONFIG_IEEE802154_CC1200 with an attached CC1200 radio are affected.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS