CRITICAL🇬🇧 English

CVE-2020-17438

RCE/DoS w uIP 1.0 — błąd składania fragmentów pakietów IP

CVSS 9.8v3.1pub. 2020-12-11upd. 2024-11-21

Podatność w bibliotece sieciowej uIP 1.0 (używanej m.in. w Contiki 3.0) umożliwia atakującemu zdalne wykonanie kodu lub wywołanie odmowy usługi (DoS) poprzez spreparowane, sfragmentowane pakiety IP. Ze względu na brak uwierzytelnienia i sieciowy wektor ataku stanowi poważne zagrożenie dla systemów wbudowanych i przemysłowych (ICS/IoT).

Pokaż oryginał (EN)

An issue was discovered in uIP 1.0, as used in Contiki 3.0 and other products. The code that reassembles fragmented packets fails to properly validate the total length of an incoming packet specified in its IP header, as well as the fragmentation offset value specified in the IP header. By crafting a packet with specific values of the IP header length and the fragmentation offset, attackers can write into the .bss section of the program (past the statically allocated buffer that is used for storing the fragmented data) and cause a denial of service in uip_reass() in uip.c, or possibly execute arbitrary code on some target architectures.

🤖 Analiza AI
Jak działa

Kod odpowiedzialny za składanie sfragmentowanych pakietów IP w funkcji uip_reass() w pliku uip.c nie weryfikuje poprawnie całkowitej długości pakietu podanej w nagłówku IP ani wartości przesunięcia fragmentu (fragmentation offset). Atakujący może spreparować pakiet z odpowiednio dobranymi wartościami tych pól, co powoduje zapis danych poza statycznie alokowanym buforem do składania fragmentów — do sekcji .bss pamięci programu (out-of-bounds write, CWE-787). W zależności od architektury docelowej i układu pamięci może to prowadzić do crash'u procesu lub nadpisania krytycznych danych sterujących wykonaniem kodu.

Skutki

Atakujący może doprowadzić do odmowy usługi (DoS) poprzez crash funkcji uip_reass(), a na wybranych architekturach docelowych potencjalnie wykonać dowolny kod na podatnym urządzeniu bez żadnego uwierzytelnienia.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami — w szczególności zapoznać się z poradnikiem CISA ICS-CERT ICSA-20-343-01 oraz CERT/CC VU#815128, które zawierają wskazówki dotyczące łatania poszczególnych implementacji. W przypadku braku możliwości natychmiastowego zastosowania poprawki zaleca się izolację sieciową urządzeń korzystających z uIP oraz filtrowanie sfragmentowanych pakietów IP na poziomie firewall.

Kogo dotyczy

uIP 1.0 używany w Contiki 3.0 oraz innych produktach wykorzystujących bibliotekę uIP — szczegółowa lista produktów dotkniętych podatnością wskazana w referencjach CISA ICS-CERT (ICSA-20-343-01) i CERT/CC (VU#815128)

Uwagi

Podatność zgłoszona przez CISA w ramach doradztwa ICS-CERT (ICSA-20-343-01), co wskazuje na jej istotność dla środowisk przemysłowych i systemów wbudowanych. Biblioteka uIP jest szeroko stosowana w urządzeniach IoT i systemach embedded, co potencjalnie rozszerza zasięg podatności poza samą platformę Contiki.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Contiki Os Contiki

    OS
    Contiki-Os
    3.0
  • Uip Project Uip

    APP
    Uip Project
    1.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDoS
CWE
Referencje

Powiązane podatności

CVE-2020-24336CRITICAL9.8PL ✓ten sam produkt

Buffer overflow w parsowaniu DNS w Contiki i Contiki-NG (NAT64)

CVE-2019-8359CRITICAL9.8PL ✓ten sam produkt

Out-of-bounds write w re-składaniu fragmentów 6LoWPAN w Contiki/Contiki-NG

CVE-2021-40523HIGH7.5ten sam produkt

In Contiki 3.0, Telnet option negotiation is mishandled. During negotiation between a server and a client, the...

CVE-2021-38386HIGH7.5ten sam produkt

In Contiki 3.0, a buffer overflow in the Telnet service allows remote attackers to cause a denial of service b...

CVE-2021-38387HIGH7.5ten sam produkt

In Contiki 3.0, a Telnet server that silently quits (before disconnection with clients) leads to connected cli...