CVE-2026-16514
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
gptp_mi_qualify_announce() w subsys/net/l2/ethernet/gptp/gptp_mi.c przegląda ścieżkę TLV śledzenia odebranej wiadomości IEEE 802.1AS Announce, porównując każdą tożsamość zegara z lokalną. Pętla została pobrana wyłącznie z kontrolowanego przez atakującego pola przewodowego ogłoszenie->steps_removed (zaakceptowano do 254), nigdy z pola ogłoszeniowego->tlv.len, które określa, ile tożsamości faktycznie przenosi TLV. Ponieważ path_sequence jest elastycznym elementem łącza TLV (struct gptp_path_trace_tlv), a GPTP_ANNOUNCE() daje surowy wskaźnik do bufora odebranych pakietów, memcmp() wewnątrz pętli może adresować pamięć znacznie po zakończeniu odebranej ramki.
Jedyna weryfikacja długości stosu, GPTP_ANNOUNCE_CHECK_LEN(), wymaga, aby otrzymany ładunek gPTP miał dokładnie 68 + tlv.len bajtów — więc nie ogranicza pętli, a gwarantuje brak danych. Nieuwierzytelniony atakujący w tym samym segmencie sieci Ethernet może wysłać pojedynczą ramkę ogłoszenia, deklarując tlv.len = 0 z kroki_removed = 254; ramka przechodzi kontrolę długości i ścieżkę odbioru (net_gptp_recv() → gptp_handle_msg() → gptp_mi_qualify_announce()), która nie przeprowadza uwierzytelnienia, a następnie pętla odczytuje 255 wpisów po 8 bajtów każdy — około 2 KB — poza końcem bufora sieciowego.
Efektem jest odczyt wykraczający poza zakres. Odczytane bajty są używane jedynie jako operand memcmp() i nigdy nie są zwracane atakującemu, więc nie dochodzi do ujawnienia znaczących informacji; praktyczne ryzyko polega na tym, że overread przekroczy granicę puli buforów sieciowych do pamięci niezamapowanej lub chronionej przez MPU i spowoduje uszkodzenie sieciowego wątku RX, powodując odmowę usługi. Narażenie jest ograniczone do kompilacji umożliwiających opcjonalną, eksperymentalną CONFIG_NET_GPTP (wdrożenia TSN/AVB) oraz do atakujących z przyleganiem warstwy 2, ponieważ ramki gPTP są wysyłane na lokalny adres multiemisji łącza i nie są kierowane.
Poprawka oblicza prawdziwą liczbę wpisów jako tlv.len / GPTP_CLOCK_ID_LEN i odrzuca ogłoszenie, gdy liczba kroków_removed + 1 przekracza tę liczbę, więc pętla nie może już przebiegać obok danych, które wykazały obecność kontroli długości pakietu.
>_ 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