CVE-2026-19186
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
ieee802154_decipher_data_frame() w subsys/net/l2/ieee802154/ieee802154_frame.c obliczony payload_len = net_pkt_get_len(pkt) - ll_hdr_len - authtag_len bez uprzedniego sprawdzenia, czy odebrana ramka ma długość co najmniej ll_hdr_len + authtag_len bajtów. Wszystkie trzy zmienne to uint8_t, więc ramka, której ładunek jest krótszy niż skonfigurowany znacznik uwierzytelniający, powoduje zawijanie odejmowania do dużej wartości (aż do 255).
Opakowana długość jest przekazywana bez zmian do ieee802154_decrypt_auth() i dalej do operacji CCM jako cipher_pkt.in_len/out_buf_max, ze znacznikiem apkt->wskazującym na ramkę + ll_hdr_len + payload_len. Ponieważ bufor odbiorczy jest przydzielany dokładnie na długość ramki otrzymanej ze sterownika radiowego, warstwa kryptograficzna odczytuje następnie kilkaset bajtów poza końcem bufora pakietu i zapisuje z powrotem na nim tę samą liczbę odszyfrowanych bajtów. Znacznik uwierzytelniający ramki jest weryfikowany dopiero po przetworzeniu, więc nie jest potrzebny żaden materiał klucza, powiązanie ani wcześniejsze uwierzytelnienie — wystarczy pojedyncza spreparowana krótka ramka z dowolnego urządzenia w zasięgu radiowym. Sprawdzanie poprawności ramki w ieee802154_validate_frame() nie zapobiega temu: ramka danych jest akceptowana z jednobajtowym ładunkiem.
Rezultatem jest odczyt poza granicami i zapis poza granicami do około 240 bajtów w sąsiedniej puli buforów sieciowych, co powoduje uszkodzenie innych pakietów lub metadanych alokatora i zazwyczaj powoduje błąd celu. Przekraczająca zawartość nie jest wybierana przez atakującego (jest to zaszyfrowany tekst klucza XOR przesyłany przez poza objętą pamięcią), a ramka jest odrzucana, gdy weryfikacja znacznika nie powiedzie się, więc głównym skutkiem jest uszkodzenie pamięci i odmowa usługi, a nie ujawnienie informacji.
Ekspozycja jest ograniczona do konfiguracji, które włączają eksperymentalną opcję CONFIG_NET_L2_IEEE802154_SECURITY, wybierają urządzenie kryptograficzne poprzez CONFIG_NET_L2_IEEE802154_SECURITY_CRYPTO_DEV_NAME i ustanawiają sesję bezpieczeństwa z poziomem innym niż IEEE802154_SECURITY_LEVEL_NONE; przy wyłączonych zabezpieczeniach lub na poziomie NONE długość znacznika wynosi zero i nie występuje niedopełnienie. Poprawka odrzuca ramki krótsze niż ll_hdr_len + authtag_len przed odjęciem i dodaje osłonę dopasowania po stronie nadawczej w ieee802154_create_data_frame().
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org