CVE-2026-1677
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
W Zephyr gniazda utworzone z `IPPROTO_TLS_1_3` mogą negocjować połączenie TLS 1.2, gdy obie wersje TLS są włączone w Kconfig, ponieważ wybór protokołu na poziomie gniazda nie jest propagowany do mbedTLS. Aplikacje zakładające, że `IPPROTO_TLS_1_3` wymusza TLS 1.3, mogą w rezultacie używać TLS 1.2 i być narażone na specyficzne dla tej wersji słabości.
Ocena ryzyka
Organizacja może nieświadomie używać TLS 1.2 zamiast wymaganego TLS 1.3, co naraża komunikację na znane ataki (np. downgrade) i narusza polityki bezpieczeństwa wymagające wyłącznie TLS 1.3.
Rekomendacja
Należy zaktualizować Zephyr do wersji z poprawką lub jako tymczasowe obejście ograniczyć listę zestawów szyfrów (`TLS_CIPHERSUITE_LIST`) wyłącznie do zestawów TLS 1.3.
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-5067Krytyczne
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.
- CVE-2026-13735Niskie
Implementacja WireGuard w Zephyrze błędnie obsługiwała pakiety keepalive. Wiadomość typu 4 z 16-bajtowym ładunkiem (pusty tekst jawny i tag Poly1305) była akceptowana bez weryfikacji tagu uwierzytelniającego, ponieważ funkcja wg_process_data_message() zwracała wynik przed wywołaniem wg_decrypt_packet(). Atakujący mógł wysłać fałszywy keepalive, nie znając klucza sesji.
- CVE-2026-13734Średnie
Podatność w Zephyr's WireGuard VPN: funkcja wg_process_data_message() sprawdzała licznik anty-replay zbyt późno, po zatwierdzeniu zmian stanu peer'a (aktualizacja adresu, timery, rotacja kluczy). Atakujący może wstrzyknąć przechwycony pakiet, co prowadzi do przejęcia endpointu i zakłócenia sesji.
- CVE-2026-13212Wysokie
Sterownik virtio w systemie Zephyr nie sprawdza poprawności identyfikatora łańcucha deskryptorów zapisywanego przez urządzenie virtio do pierścienia używanego. Atakujący backend virtio może podać identyfikator wykraczający poza zakres, co prowadzi do odczytu poza pamięcią i wywołania wskaźnika funkcji w kontekście przerwania gościa. Umożliwia to przejęcie kontroli nad przepływem wykonania lub spowodowanie awarii systemu.
- CVE-2026-12634Średnie
Podatność w backendzie NVS podsystemu ustawień Zephyr (settings_nvs.c) powoduje zapis poza granicami stosu. Funkcja nvs_read() zwraca pełną długość wpisu, która może przekraczać rozmiar bufora, a kod używa tej wartości jako indeksu do zapisu znaku NUL, co prowadzi do zapisu poza bufor (CWE-787).
- CVE-2026-12632Średnie
Podatność w Zephyr RTOS w module PTP (Precision Time Protocol) pozwala zdalnemu atakującemu na wywołanie odczytu poza zakresem pamięci przez wysłanie specjalnie spreparowanego pakietu PTP z nieprawidłowym typem wiadomości (0xE lub 0xF). Brak walidacji górnego zakresu indeksu tablicy msg_size[] prowadzi do odczytu poza tablicą, a następnie do dalszych operacji na pamięci, co może skutkować awarią systemu lub ograniczonym uszkodzeniem pamięci.
- CVE-2026-12630Średnie
W Zephyr OS w kodzie dekompresji 6LoWPAN IPHC (subsys/net/ip/6lo.c) występuje odczyt poza zakresem w funkcji get_ihpc_inlined_size(). Indeks do tablicy da_inline_size_table (13 wpisów) jest budowany z 4-bitowego pola M, DAC i DAM nagłówka IPHC, a zarezerwowane kombinacje 13, 14 i 15 nie są sprawdzane pod kątem granic, co prowadzi do odczytu poza tablicą.
- CVE-2026-12366Wysokie
W Zephyr OS wykryto podatność use-after-free w ścieżce usuwania dynamicznych obiektów jądra. Funkcja unref_check() zwalnia pamięć obiektu po wyzerowaniu licznika referencji, ale dla timerów (K_OBJ_TIMER) nie anuluje aktywnego timeoutu, pozostawiając wiszący węzeł w globalnej kolejce timeoutów. Po wygaśnięciu timera jądro wywołuje handler na zwolnionej pamięci, co prowadzi do zapisu do zwolnionego obszaru.
Oryginalny opis (angielski, źródło NVD)
Zephyr sockets created with `IPPROTO_TLS_1_3` can still negotiate a TLS 1.2 connection when both TLS versions are enabled in Kconfig, because the socket-level protocol selection is not propagated to mbedTLS (e.g. via `mbedtls_ssl_conf_min_tls_version`). The ClientHello advertises both versions and the peer can establish TLS 1.2, so applications that assumed `IPPROTO_TLS_1_3` enforces TLS 1.3 may silently use TLS 1.2 and remain exposed to TLS 1.2-specific weaknesses. As a workaround, the `TLS_CIPHERSUITE_LIST` socket option can be restricted to TLS 1.3-only cipher suites.

