CVE-2026-5067
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 58 - wyżej niż 58% wszystkich znanych CVE
Streszczenie
System operacyjny Zephyr zawiera lukę w ścieżce uaktualnienia WebSocket serwera HTTP. Nieuwierzytelniony atakujący zdalny może wywołać uszkodzenie pamięci, wysyłając spreparowany nagłówek Sec-WebSocket-Key. Kopiowanie nagłówka do bufora o stałym rozmiarze nie gwarantuje zakończenia NUL, co prowadzi do odczytu i zapisu poza zakresem na stosie.
Ocena ryzyka
Atakujący może spowodować awarię systemu (odmowa usługi) lub potencjalnie uzyskać zdalne wykonanie kodu. Luka jest dostępna, gdy włączona jest opcja CONFIG_HTTP_SERVER_WEBSOCKET.
Rekomendacja
Zaktualizuj Zephyr do wersji zawierającej poprawkę. Wyłącz opcję CONFIG_HTTP_SERVER_WEBSOCKET, jeśli nie jest wymagana.
Inne podatności w Zephyr
Zobacz wszystkie- CVE-2026-10772Nieznane
To CVE zostało odrzucone jako duplikat. Opisana podatność dotyczyła błędnego sprawdzania uprawnień w ścieżkach GATT notify/indicate w stosie Bluetooth Zephyr, ale została już wcześniej zgłoszona jako CVE-2026-2411.
- CVE-2026-10676Nieznane
Identyfikator CVE-2026-10676 został wycofany, ponieważ analiza wykazała, że zgłoszona wada nie jest dostępna w żadnej wydanej wersji Zephyr. W każdej wspieranej wersji poprawna wartość jest korygowana przed jej użyciem.
- CVE-2026-19673Wysokie
Podatność w funkcji ethernet_recv() w subsys/net/l2/ethernet/ethernet.c w stosie sieciowym Zephyr. Gdy ethertype to 0x8100, a na interfejsie włączony jest VLAN, bufor odbieranej ramki jest reinterpretowany jako 18-bajtowa struktura net_eth_vlan_hdr bez ponownego sprawdzenia długości, co powoduje odczyt poza buforem i podniesienie hdr_len do 18. Pojedyncza nieuwierzytelniona ramka o długości 14-17 bajtów z ethertype 0x8100 wyzwala błąd.
- CVE-2026-19935Wysokie
Podatność w stosie Bluetooth LE Zephyr pozwala zdalnemu, nieuwierzytelnionemu atakującemu na użycie po zwolnieniu (use-after-free) w obsłudze kanałów L2CAP CoC z dynamicznym PSM. Wysyłając ramkę danych, a następnie żądanie rozłączenia, atakujący może spowodować, że kolejka pracy systemu przetworzy pracę wskazującą na zwolniony kanał, co prowadzi do naruszenia pamięci lub uszkodzenia kolejki pracy.
- CVE-2026-19740Średnie
Implementacja procedury LLCP w kontrolerze Bluetooth LE Zephyra zatrzymuje węzeł odbiorczy po akceptacji LL_PHY_UPDATE_IND, ale ścieżki obsługi nieprawidłowych PDU nie zwalniają tego węzła przed zakończeniem procedury. Atakujący z zasięgu radiowego może wysłać sekwencję PDU, która powoduje naruszenie asercji (awarię urządzenia) lub wyciek węzłów z puli odbiorczej, prowadząc do niedostępności Bluetooth do czasu restartu.
- CVE-2026-19669Wysokie
Podatność w mechanizmie weryfikacji wywołań systemowych Zephyra (z_vrfy_fuel_gauge_get_props() i z_vrfy_fuel_gauge_set_props()) polega na alokacji tablic o zmiennym rozmiarze (VLA) na stosie jądra na podstawie niezwalidowanego argumentu len pochodzącego od użytkownika. Brak sprawdzenia zakresu przed alokacją i kopiowaniem pozwala wątkowi w trybie użytkownika (CONFIG_USERSPACE) na zapis poza zakresem w trybie nadzorcy z kontrolowaną przez atakującego długością i zawartością danych.
- CVE-2026-19577Wysokie
W podsystemie IPv6 stosu Zephyr stwierdzono podatność na odczyt poza zakresem pamięci w funkcji net_route_ipv6_packet(). Problem wynika z braku sprawdzenia, czy wpis w pamięci podręcznej sąsiadów (neighbor cache) posiada adres warstwy łącza, zanim zostanie on użyty. Atakujący z tej samej sieci może wymusić stan nierozwiązanego sąsiada i doprowadzić do odczytu pamięci poza tablicą adresów, co może skutkować awarią systemu (panic) lub wyciekiem danych.
- CVE-2026-19186Wysokie
W stosie IEEE 802.15.4 w Zephyrze funkcja ieee802154_decipher_data_frame() nie sprawdza, czy ramka jest wystarczająco długa, zanim obliczy długość danych. Odejmowanie długości nagłówka i tagu uwierzytelniającego od długości ramki może się zawinąć (underflow), co prowadzi do odczytu i zapisu poza buforem pakietu. Atakujący w zasięgu radiowym może wysłać krótką ramkę, powodując uszkodzenie pamięci i awarię systemu.
- CVE-2026-18415Średnie
W funkcji ieee802154_send() w stosie sieciowym Zephyr pakiet wychodzący jest kopiowany do stałego bufora nadawczego o rozmiarze 125 bajtów bez sprawdzenia długości. Gdy włączona jest fragmentacja 6LoWPAN, ale fragmentacja nie jest wymagana, brak weryfikacji rozmiaru pozwala na zapis poza buforem. Luka jest osiągalna przez gniazda NET_AF_PACKET powiązane z interfejsem 802.15.4, w tym przez nieuprzywilejowany wątek aplikacji w buildach CONFIG_USERSPACE.
- CVE-2026-15890Średnie
Podatność w module PSA Internal Trusted Storage w Zephyrze dotyczy braku synchronizacji w generowaniu nonce dla szyfrowania AEAD. Funkcja secure_storage_its_transform_aead_get_nonce() używa statycznych zmiennych lokalnych bez blokady, co przy równoczesnych zapisach do tego samego UID może prowadzić do ponownego użycia nonce z tym samym kluczem. To powoduje katastrofalną awarię szyfrowania, umożliwiając wyciek danych i fałszowanie wpisów.
Oryginalny opis (angielski, źródło NVD)
A remote, unauthenticated attacker can trigger memory corruption in Zephyr's HTTP server WebSocket upgrade path by sending a crafted Sec-WebSocket-Key header. The HTTP/1 header parser copies the header into a fixed-size buffer using a bounded copy that does not guarantee NUL termination when the input length reaches the buffer size. During upgrade handling the buffer is copied to a local stack buffer and passed to strlen(); if no NUL exists in-bounds, strlen() reads beyond the stack buffer and subsequent concatenation with the WebSocket magic string can write out of bounds. This leads to out-of-bounds read and write on stack memory, resulting in crash (denial of service) and potentially code execution. The path is reachable when CONFIG_HTTP_SERVER_WEBSOCKET is enabled.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

