CRITICAL🇬🇧 English

CVE-2018-19417

RCE w serwerze MQTT Contiki-NG — przepełnienie bufora w parse_publish_vhdr()

CVSS 10.0v3.0pub. 2018-11-21upd. 2024-11-21

W serwerze MQTT systemu Contiki-NG odkryto krytyczny błąd przepełnienia bufora (buffer overflow) w funkcji parse_publish_vhdr(), umożliwiający zdalne wykonanie kodu. Brak weryfikacji długości danych wejściowych pozwala atakującemu bez żadnego uwierzytelnienia przejąć kontrolę nad urządzeniem.

Pokaż oryginał (EN)

An issue was discovered in the MQTT server in Contiki-NG before 4.2. The function parse_publish_vhdr() that parses MQTT PUBLISH messages with a variable length header uses memcpy to input data into a fixed size buffer. The allocated buffer can fit only MQTT_MAX_TOPIC_LENGTH (default 64) bytes, and a length check is missing. This could lead to Remote Code Execution via a stack-smashing attack (overwriting the function return address). Contiki-NG does not separate the MQTT server from other servers and the OS modules, so access to all memory regions is possible.

🤖 Analiza AI
Jak działa

Funkcja parse_publish_vhdr() przetwarza wiadomości MQTT PUBLISH ze zmienną długością nagłówka i kopiuje dane wejściowe do bufora o stałym rozmiarze (MQTT_MAX_TOPIC_LENGTH, domyślnie 64 bajty) przy użyciu memcpy. Brakuje sprawdzenia długości kopiowanych danych, co umożliwia nadpisanie obszarów stosu poza przydzielonym buforem. Atakujący może nadpisać adres powrotu funkcji (stack-smashing), przekierowując wykonanie kodu do własnego payload. Dodatkowo Contiki-NG nie izoluje serwera MQTT od pozostałych modułów systemu operacyjnego, przez co atak daje dostęp do wszystkich regionów pamięci.

Skutki

Atakujący zdalny, nieuwierzytelniony może wykonać dowolny kod (RCE) na podatnym urządzeniu z pełnym dostępem do pamięci systemu, co w praktyce oznacza całkowite przejęcie kontroli nad urządzeniem.

Mitygacja

Należy zaktualizować Contiki-NG do wersji 4.2 lub nowszej. Szczegóły dostępne w referencjach producenta pod adresem https://github.com/contiki-ng/contiki-ng/issues/600

Kogo dotyczy

Contiki-NG we wszystkich wersjach przed 4.2

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Contiki Ng

    APP
    Contiki-Ng
    < 4.2
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCE
CWE
Referencje

Powiązane podatności

CVE-2020-27634CRITICAL9.1PL ✓ten sam produkt

Contiki-Ng: nieprawidłowa losowość TCP ISN umożliwia ataki na sesje sieciowe

CVE-2023-30546CRITICAL9.8PL ✓ten sam produkt

Off-by-one w bazie Antelope (Contiki-NG) — odczyt poza buforem

CVE-2020-12141CRITICAL9.1PL ✓ten sam produkt

Out-of-bounds read w stosie SNMP systemu Contiki-NG

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

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

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

Buffer overflow w obsłudze SNMP bulk get w Contiki-NG (RCE)