Grupurile de cercetare Forescout Research Labs și JSOF Research au publicat rezultatele unei cercetări comune privind securitatea diferitelor implementări ale schemei de compresie utilizate pentru ambalarea numelui repetat în mesajele DNS, mDNS, DHCP și IPv6 RA (ambalarea părților duplicat ale domeniilor în mesaje care includ mai multe nume). În cadrul lucrărilor efectuate, au fost identificate 9 vulnerabilități, care sunt generalizate sub numele de cod NAME:WRECK.
Problemele au fost identificate în FreeBSD, precum și în subsistemele de rețea IPnet, Nucleus NET și NetX, care s-au răspândit în sistemele de operare în timp real VxWorks, Nucleus și ThreadX, utilizate în dispozitivele de automatizare, stocare, aparate medicale, avionică, imprimante și electronice de consum. Se presupune că vulnerabilităților le sunt expuse cel puțin 100 de milioane de dispozitive.
- Vulnerabilitatea din FreeBSD (CVE-2020-7461) permitea executarea codului unui atacator prin trimiterea unui pachet DHCP special format de acesta, aflat într-o rețea locală comună cu victima, procesarea căruia de către clientul DHCP vulnerabil ducea la overflow de buffer. Problema este atenuată de faptul că procesul dhclient, în care se află vulnerabilitatea, este executat cu privilegii reduse într-un mediu izolat Capsicum, din care se putea ieși doar prin descoperirea unei alte vulnerabilități.
Esenta erorii constă în verificarea incorectă a parametrilor din pachetul returnat de serverul DHCP cu opțiunea 119 DHCP, care permite transmiterea unei liste de „domain search” către rezolvator. Calcularea greșită a dimensiunii bufferului necesar pentru a găzdui datele dezambalate nume de domeniu, a dus la scrierea informațiilor controlate de atacator dincolo de bufferul alocat. În FreeBSD problema a fost remediată încă din septembrie anul trecut. Problema poate fi exploatată doar în prezența unui acces la rețeaua locală.
- Vulnerabilitatea din stiva de rețea încorporată IPnet, utilizată în RTOS VxWorks, permite executarea potențială a codului pe partea clientului DNS din cauza procesării incorecte a compresiei mesajelor DNS. Așa cum s-a dovedit, această vulnerabilitate a fost descoperită pentru prima dată de compania Exodus în 2016, dar nu a fost niciodată rezolvată. Noua solicitare către compania Wind River a rămas de asemenea fără răspuns, iar dispozitivele cu IPnet rămân vulnerabile.
- În stiva TCP/IP Nucleus NET, susținută de Siemens, au fost identificate 6 vulnerabilități, dintre care două ar putea duce la execuția de cod la distanță, iar patru la inițierea unui atac de refuz al serviciului. Prima problemă periculoasă este legată de o eroare în decomprimarea mesajelor DNS comprimate, iar a doua de o analiză incorectă a etichetelor de domeniu. Ambele probleme duc la un overflow de buffer în procesarea răspunsurilor DNS malițioase.
Pentru a exploata vulnerabilitățile, un atacator trebuie să trimită un răspuns special conceput la orice cerere legitimă provenită de pe un dispozitiv vulnerabil, de exemplu, prin realizarea unei atacuri MTIM și intervenind în traficul dintre serverul DNS și victimă. Dacă atacatorul are acces la rețeaua locală, poate lansa un server DNS care încearcă să atace dispozitivele afectate prin trimiterea de cereri mDNS în mod multicast.
- Vulnerabilitatea din stiva de rețea NetX (Azure RTOS NetX), dezvoltată pentru ThreadX RTOS și deschisă în 2019 după ce a trecut în proprietatea Microsoft, s-a limitat la un atac de refuz al serviciului. Problema este cauzată de o eroare în analiza mesajelor DNS comprimate în implementarea resolver-ului.
Printre stivele de rețea verificate, care nu au avut vulnerabilități legate de comprimarea datelor repetate în mesajele DNS, se numără proiectele lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread și FNET. Dintre acestea, primele două (Nut/Net și lwIP) nu suportă deloc comprimarea în mesajele DNS, în timp ce celelalte implementează acest proces fără erori. De asemenea, se observă că aceiași cercetători au identificat anterior vulnerabilități similare în stivele Treck, uIP și PicoTCP.
Sursa: opennet.ro
