CVE-2023-34100
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Contiki-NG, system operacyjny dla urządzeń IoT, ma lukę, która pozwala na odczyt danych poza granicami bufora IPv6 podczas przetwarzania opcji MSS w pakietach TCP. Problem dotyczy indeksowania bufora w module os/net/ipv6/uip6.c, co może prowadzić do nieautoryzowanego dostępu do pamięci.
Ocena ryzyka
Luka ta może prowadzić do awarii systemu lub umożliwić atakującemu wykonanie złośliwego kodu, co stanowi poważne zagrożenie dla bezpieczeństwa urządzeń IoT działających na Contiki-NG.
Rekomendacja
Zaleca się aktualizację do wersji 4.9 Contiki-NG, gdy stanie się dostępna, aby usunąć tę podatność. Użytkownicy mogą również ręcznie zastosować poprawkę z commit `cde4e9839` jako tymczasowe rozwiązanie.
Inne podatności w Contiki-NG
Zobacz wszystkie- CVE-2026-5857Wysokie
Contiki-NG w kliencie MQTT w funkcji parse_publish_vhdr() w os/net/app-layer/mqtt/mqtt.c ustawia topic_len_received=1 przed sprawdzeniem topic_len względem limitu 64 bajtów, co powoduje, że zbyt długi temat zwraca wcześniej, ale pozostawia flagę ustawioną. Przy następnym segmencie TCP parser pomija blok odczytu długości i wykonuje memcpy z niezwalidowaną długością, co prowadzi do przepełnienia bufora topic[] i nadpisania sąsiednich pól, w tym wskaźnika payload_chunk. Może to umożliwić zdalne wykonanie kodu na urządzeniach bez ochrony pamięci.
- CVE-2026-5856Wysokie
Contiki-NG w resolverze DNS/mDNS w funkcji skip_name() w os/services/resolv/resolv.c nie sprawdza granic pakietu podczas przetwarzania etykiet nazw, a wywołujący w newdata() iteruje nquestions razy na podstawie nagłówka DNS przed walidacją ID transakcji. Atakujący może ustawić nquestions większe niż liczba kompletnych pytań, co powoduje odczyt poza buforem pakietu UDP i ujawnienie zawartości pamięci lub awarię resolwera.
- CVE-2026-5855Wysokie
Contiki-NG w parserze TLV LwM2M w funkcji lwm2m_tlv_read() w os/services/lwm2m/lwm2m-tlv.c ignoruje argument długości bufora i czyta do sześciu bajtów bez sprawdzania granic. Złośliwe żądanie CoAP WRITE z końcowym TLV o dokładnie jednym bajcie powoduje odczyty poza stertą, ujawniając zawartość pamięci (w tym klucze i adresy) przez pola tlv->id, tlv->length i tlv->value. W trybie NoSec, domyślnym dla urządzeń ograniczonych, nie jest wymagane uwierzytelnienie.
- CVE-2023-34101Wysokie
Contiki-NG to system operacyjny dla urządzeń IoT. W wersji 4.8 i wcześniejszych, podczas przetwarzania pakietów ICMP DAO w funkcji `dao_input_storing`, system nie weryfikuje, czy bufor pakietu jest wystarczająco duży, co może prowadzić do odczytu danych poza przydzielonym obszarem pamięci.
Oryginalny opis (angielski, źródło NVD)
Contiki-NG is an open-source, cross-platform operating system for IoT devices. When reading the TCP MSS option value from an incoming packet, the Contiki-NG OS does not verify that certain buffer indices to read from are within the bounds of the IPv6 packet buffer, uip_buf. In particular, there is a 2-byte buffer read in the module os/net/ipv6/uip6.c. The buffer is indexed using 'UIP_IPTCPH_LEN + 2 + c' and 'UIP_IPTCPH_LEN + 3 + c', but the uip_buf buffer may not have enough data, resulting in a 2-byte read out of bounds. The problem has been patched in the "develop" branch of Contiki-NG, and is expected to be included in release 4.9. Users are advised to watch for the 4.9 release and to upgrade when it becomes available. There are no workarounds for this vulnerability aside from manually patching with the diff in commit `cde4e9839`.

