Podatność klasy out-of-bounds write (CWE-787) w implementacji protokołu 6LoWPAN w systemach Contiki i Contiki-NG umożliwia zdalnemu napastnikowi nadpisanie pamięci poza przeznaczonym buforem. Ze względu na sieciowy wektor ataku i brak wymaganych uprawnień podatność jest krytyczna, szczególnie w kontekście urządzeń IoT.
▸ Pokaż oryginał (EN)
An issue was discovered in Contiki-NG through 4.3 and Contiki through 3.0. An out of bounds write is present in the data section during 6LoWPAN fragment re-assembly in the face of forged fragment offsets in os/net/ipv6/sicslowpan.c.
Podczas re-składania fragmentów pakietów 6LoWPAN w pliku os/net/ipv6/sicslowpan.c kod nie weryfikuje poprawnie offsetów fragmentów dostarczanych przez nadawcę. Atakujący może wysłać spreparowany pakiet sieciowy zawierający sfałszowane wartości offsetów fragmentów. Powoduje to zapis danych poza granicami przeznaczonego obszaru sekcji danych, co stanowi klasyczny out-of-bounds write.
Atakujący może doprowadzić do uszkodzenia pamięci urządzenia, co w praktyce może skutkować wykonaniem dowolnego kodu (RCE), awarią systemu lub przejęciem kontroli nad urządzeniem IoT. Atak nie wymaga uwierzytelnienia ani interakcji użytkownika.
Należy zaktualizować Contiki-NG do wersji 4.4 lub nowszej (poprawka dostępna w wydaniu release/v4.4). Dla Contiki należy zastosować patche dostępne u producenta zgodnie z referencjami. Szczegóły poprawki dostępne są w pull request #972 repozytorium contiki-ng na GitHub.
Contiki-NG w wersjach do 4.3 włącznie oraz Contiki w wersjach do 3.0 włącznie.
Podatność została opisana w publikacji naukowej prezentowanej na konferencji USENIX Security 2020 (prepublikacja dostępna pod adresem usenix.org). Dotyczy stosu sieciowego stosowanego w urządzeniach IoT o ograniczonych zasobach, co może utrudniać wdrożenie patchy w środowiskach produkcyjnych.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HContiki Ng
OSContiki-Ng≤ 4.3Contiki Os Contiki
OSContiki-Os≤ 3.0
Powiązane podatności
Contiki-Ng: nieprawidłowa losowość TCP ISN umożliwia ataki na sesje sieciowe
Off-by-one w bazie Antelope (Contiki-NG) — odczyt poza buforem
Out-of-bounds read w stosie SNMP systemu Contiki-NG
RCE/DoS w uIP 1.0 — błąd składania fragmentów pakietów IP
Buffer overflow w parsowaniu DNS w Contiki i Contiki-NG (NAT64)