Podatności Zephyr RTOS
18 znanych podatności CVE w Zephyr RTOS, przetłumaczonych i ocenionych.
- CVE-2026-13480Niskie
Podatność w obsłudze fragmentów danych LoRaWAN TS004 w Zephyr RTOS (subsys/lorawan/services/frag_transport.c) polega na braku walidacji długości pozostałych bajtów przed odczytem w handlerze frag_transport_package_callback(). Atakujący, znający klucze sesyjne, może spowodować odczyt poza buforem RxPayload (do ~232 bajtów), kopiując dane z pamięci statycznej do buforów dekodera i obrazu FUOTA.
- CVE-2026-13213Średnie
Podatność w usłudze Hearing Access Service (HAS) w Zephyr RTOS pozwala zdalnie (przez Bluetooth) wywołać awarię (crash) urządzenia peryferyjnego HAS. Problem występuje, gdy wcześniej sparowany klient łączy się ponownie w oknie czasowym przed rejestracją usługi przez aplikację, co prowadzi do asercji lub dereferencji pustego wskaźnika.
- CVE-2026-12633Wysokie
Podatność w kodzie obsługi sąsiedztwa IPv6 (subsys/net/ip/ipv6_nbr.c) w Zephyr RTOS. Funkcja handle_ra_6co() nie ogranicza pola context_len z opcji 6CO w komunikatach Router Advertisement, co prowadzi do przepełnienia bufora i zapisu poza pamięcią (memset). Atakujący z tej samej sieci może wysłać spreparowany pakiet, powodując awarię systemu.
- CVE-2026-9771Wysokie
Podatność w wywołaniu systemowym flash_copy() w Zephyr RTOS (z włączonym CONFIG_USERSPACE) pozwala nieuprzywilejowanemu wątkowi na przekazanie sfałszowanych wskaźników do struktur urządzeń flash. Brak walidacji obiektów urządzeń (src_dev, dst_dev) przed dereferencją umożliwia wywołanie dowolnego kodu w trybie nadzorcy, co prowadzi do eskalacji uprawnień poza piaskownicę użytkownika.
- CVE-2026-12364Wysokie
Podatność w Zephyr RTOS dotyczy weryfikatora wywołań systemowych z_vrfy_z_log_msg_static_create(), który nie sprawdzał argumentów przekazywanych do funkcji jądra. Umożliwia to nieuprzywilejowanemu wątkowi użytkownika przekazanie dowolnych wskaźników i długości, co prowadzi do odczytu pamięci jądra i awarii systemu.
- CVE-2026-12363Średnie
Podatność w usłudze transportu bloków danych LoRaWAN (frag_transport.c) nie sprawdza licznika fragmentów w odebranej komendzie DATA_FRAGMENT przed przekazaniem jej do dekodera. Wartość frag_counter równa 0 powoduje niedomiar arytmetyki (frag_counter - 1), co prowadzi do zapisu poza zakresem (CWE-787) w domyślnym dekoderze Semtech/LoRaMAC-node, uszkadzając stan dekodera i przerywając sesję aktualizacji oprogramowania (FUOTA).
- CVE-2026-12233Średnie
Podatność w backendzie PSA Protected Storage dla poświadczeń TLS (subsys/net/lib/tls_credentials/tls_credentials_trusted.c) polega na niezainicjalizowanym mutexie (k_mutex) — zadeklarowanym jako statyczna struktura wypełniona zerami, bez wywołania k_mutex_init(). Przy braku rywalizacji o blokadę działa to poprawnie, ale przy jednoczesnym dostępie z dwóch wątków dochodzi do wyłuskania pustego wskaźnika (NULL) w kolejce oczekujących, co powoduje panikę jądra i reset urządzenia.
- CVE-2026-11812Niskie
Podatność w podsystemie UpdateHub (subsys/mgmt/updatehub/updatehub.c) polega na braku synchronizacji dostępu do współdzielonej struktury ctx. Jednoczesne operacje (tło autohandlera i wywołania użytkownika) mogą zapisać poza tablicą fds[1], nadpisując sąsiednie pola struktury, co prowadzi do uszkodzenia stanu wewnętrznego i odmowy usługi w ścieżce aktualizacji oprogramowania.
- CVE-2026-10849Wysokie
W kliencie zarządzania urządzeniami hawkBit w Zephyr RTOS występuje podatność na zapis poza dozwolonym obszarem sterty (heap-based out-of-bounds write). Bufor przechowujący odpowiedź HTTP nie rezerwuje miejsca na znak null, co przy odpowiedniej długości odpowiedzi prowadzi do zapisu jednego bajtu zerowego poza przydzieloną pamięcią.
- CVE-2026-10848Wysokie
W kliencie OCPP 1.6 w Zephyr RTOS wykryto podatność polegającą na odczycie poza zakresem bufora podczas parsowania ramek WAMP RPC. Funkcja extract_string_field() używa strncpy bez gwarancji null-terminacji, co prowadzi do odczytu poza 128-bajtowym buforem i potencjalnego zapisu null poza zakresem. Podatność może być zdalnie wykorzystana przez złośliwy serwer centralny lub atakującego w sieci.
- CVE-2026-10682Średnie
W Zephyr RTOS w wersjach od v3.3.0 do v4.4.1, funkcja weryfikatora przestrzeni użytkownika z_vrfy_log_filter_set() wykonuje porównanie ze znakiem dla parametru src_id, co pozwala na przekazanie ujemnej wartości. Prowadzi to do odczytu i zapisu poza zakresem w tablicy log_dynamic, co może być wykorzystane do eskalacji uprawnień w trybie nadzorcy.
- CVE-2026-10680Wysokie
W stosie Bluetooth BR/EDR (Classic) w Zephyr RTOS wykryto podatność w handlerach L2CAP sygnalizacji konfiguracji (l2cap_br_conf_req i l2cap_br_conf_rsp). Walidacja minimalnego rozmiaru polecenia była przeprowadzana względem buf->len (pozostałe bajty w całym PDU) zamiast len (długość danych polecenia z nagłówka L2CAP). Atakujący może wysłać polecenie CONF_REQ z nagłówkiem mniejszym niż struktura żądania konfiguracji (np. 0), a następnie kolejne polecenie, tak aby buf->len nadal spełniał warunek. Prowadzi to do niedomiaru (underflow) zmiennej opt_len do wartości bliskiej 0xFFFF, co skutkuje odczytem poza zakresem bufora i potencjalnym zapisem poza zakresem, gdy dane opcji kodują MTU lub timeout.
- CVE-2026-10672Wysokie
W bibliotece LwM2M w Zephyr RTOS wykryto podatność polegającą na kopiowaniu URI aktualizacji oprogramowania do stałego bufora bez walidacji długości. Atakujący może zapisać URI o długości 128-254 znaków, co prowadzi do odczytu poza zakresem pamięci statycznej, ujawnienia danych i potencjalnego zatrzymania urządzenia.
- CVE-2026-10670Średnie
W systemie Zephyr RTOS wykryto podatność w obsłudze wywołania systemowego k_thread_name_copy(). Funkcja weryfikująca (z_vrfy_k_thread_name_copy()) wywołuje k_object_find() na wskaźniku wątku dostarczonym przez użytkownika, a następnie dereferencuje zwróconą strukturę bez sprawdzenia, czy jest NULL. Jeśli wskaźnik nie jest zarejestrowanym obiektem jądra, dochodzi do dereferencji NULL w trybie nadzorcy, co powoduje awarię lub restart systemu.
- CVE-2026-10660Średnie
Podatność w stosie Bluetooth BAP Broadcast Assistant GIT w Zephyr RTOS powoduje przepełnienie bufora i uszkodzenie danych między połączeniami. Współdzielony bufor 512 bajtów dla wszystkich instancji połączeń, przy jednoczesnym przetwarzaniu powiadomień z wielu urządzeń Scan Delegator, może prowadzić do zapisu poza zakresem i mieszania danych między połączeniami.
- CVE-2026-7656Wysokie
Podatność w Zephyr RTOS dotyczy obsługi komunikatów Neighbor Discovery dla IPv6. Błędna logika warunkowa powoduje, że wszystkie walidacje RFC 4861 (w tym wymóg Hop Limit == 255) są pomijane, gdy pole ICMPv6 code ma wartość 0 (normalną dla ND). Umożliwia to atakującemu wstrzyknięcie sfałszowanych komunikatów RA/NS/NA.
- CVE-2026-10647Średnie
W sterowniku USB CDC-NCM dla Zephyr RTOS brakuje sprawdzenia wartości zwracanej przez usbd_ep_enqueue(). Gdy enqueue zawiedzie (np. podczas zawieszenia magistrali USB), funkcja blokuje się na semaforze, który nigdy nie zostaje zasygnalizowany, powodując trwałe zakleszczenie wątku TX i zatrzymanie transmisji sieciowej aż do restartu.
- CVE-2026-5066Średnie
W podsystemie gniazd sieciowych Zephyr RTOS (subsys/net/lib/sockets/sockets_tls.c) występuje potencjalny zapis/odczyt poza zakresem w ścieżce połączenia TLS. Gdy pamięć podręczna sesji TLS jest włączona, funkcje tls_session_store() i tls_session_restore() kopiują adres dostarczony przez wywołującego do bufora o stałym rozmiarze, używając wartości addrlen kontrolowanej przez wywołującego bez walidacji względem rozmiaru docelowego. Może to prowadzić do odczytu i zapisu poza pamięcią adresu, co może spowodować awarię i odmowę usługi, a potencjalnie także wykonanie dowolnego kodu.

