Kwetsbaarheden in FreeBSD, IPnet en Nucleus NET gerelateerd aan fouten bij de implementatie van DNS-compressie

De onderzoeksgroepen Forescout Research Labs en JSOF Research hebben de resultaten gepubliceerd van een gezamenlijk onderzoek naar de veiligheid van verschillende implementaties van het compressieschema dat wordt gebruikt om dubbele namen in DNS-, mDNS-, DHCP- en IPv6 RA-berichten te verpakken (het verpakken van dubbele domeindelen in berichten die meerdere namen bevatten). Tijdens de werkzaamheden zijn 9 kwetsbaarheden geïdentificeerd, die zijn samengevat onder de codenaam NAME:WRECK.

Er zijn problemen geïdentificeerd in FreeBSD, evenals in de netwerksubsystemen IPnet, Nucleus NET en NetX, die wijdverspreid zijn geworden in de real-time besturingssystemen VxWorks, Nucleus en ThreadX die worden gebruikt in automatiseringsapparatuur, opslag, medische apparatuur, luchtvaartelektronica en printers en consumentenelektronica. Er wordt geschat dat minstens 100 miljoen apparaten getroffen zijn door de kwetsbaarheden.

  • Een kwetsbaarheid in FreeBSD (CVE-2020-7461) maakte het mogelijk om de uitvoering van de code te organiseren door een speciaal ontworpen DHCP-pakket te sturen naar aanvallers die zich op hetzelfde lokale netwerk bevinden als het slachtoffer, waarvan de verwerking door een kwetsbare DHCP-client werd geleid tot een bufferoverflow. Het probleem werd verzacht door het feit dat het dhclient-proces waarin de kwetsbaarheid aanwezig was, met reset-rechten draaide in een geïsoleerde Capsicum-omgeving, waardoor een andere kwetsbaarheid moest worden geïdentificeerd om te kunnen worden afgesloten.

    De essentie van de fout ligt in het onjuist controleren van parameters in het pakket dat wordt geretourneerd door de DHCP-server met DHCP-optie 119, waarmee u de lijst met “domeinzoekopdrachten” naar de oplosser kunt overbrengen. Een onjuiste berekening van de buffergrootte die nodig is om uitgepakte domeinnamen te huisvesten, leidde ertoe dat door de aanvaller gecontroleerde informatie buiten de toegewezen buffer werd geschreven. In FreeBSD werd het probleem vorig jaar september opgelost. Het probleem kan alleen worden uitgebuit als u toegang heeft tot het lokale netwerk.

  • Een kwetsbaarheid in de ingebedde IPnet-netwerkstack die wordt gebruikt in RTOS VxWorks maakt mogelijke code-uitvoering aan de DNS-clientkant mogelijk als gevolg van onjuiste afhandeling van DNS-berichtcompressie. Het bleek dat deze kwetsbaarheid voor het eerst werd geïdentificeerd door Exodus in 2016, maar nooit werd opgelost. Ook een nieuw verzoek aan Wind River bleef onbeantwoord en IPnet-apparaten blijven kwetsbaar.
  • Er zijn zes kwetsbaarheden geïdentificeerd in de Nucleus NET TCP/IP-stack, ondersteund door Siemens, waarvan er twee kunnen leiden tot uitvoering van code op afstand, en vier kunnen leiden tot Denial of Service. Het eerste gevaarlijke probleem houdt verband met een fout bij het decomprimeren van gecomprimeerde DNS-berichten, en het tweede houdt verband met het onjuist parseren van domeinnaamlabels. Beide problemen resulteren in een bufferoverflow bij het verwerken van speciaal opgemaakte DNS-antwoorden.

    Om kwetsbaarheden te misbruiken hoeft een aanvaller alleen maar een speciaal ontworpen antwoord te sturen op elk legitiem verzoek dat vanaf een kwetsbaar apparaat wordt verzonden, bijvoorbeeld door een MTIM-aanval uit te voeren en het verkeer tussen de DNS-server en het slachtoffer te verstoren. Als de aanvaller toegang heeft tot het lokale netwerk, kan hij een DNS-server starten die problematische apparaten probeert aan te vallen door mDNS-verzoeken in de uitzendmodus te verzenden.

  • De kwetsbaarheid in de NetX-netwerkstack (Azure RTOS NetX), ontwikkeld voor ThreadX RTOS en in 2019 geopend na overname door Microsoft, bleef beperkt tot denial of service. Het probleem wordt veroorzaakt door een fout bij het parseren van gecomprimeerde DNS-berichten in de implementatie van de solver.

Van de geteste netwerkstacks waarin geen kwetsbaarheden zijn gevonden met betrekking tot de compressie van herhaalde gegevens in DNS-berichten, zijn de volgende projecten genoemd: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread en FNET. Bovendien ondersteunen de eerste twee (Nut/Net en lwIP) helemaal geen compressie in DNS-berichten, terwijl de andere deze bewerking zonder fouten implementeren. Bovendien wordt opgemerkt dat dezelfde onderzoekers eerder al soortgelijke kwetsbaarheden in de Treck-, uIP- en PicoTCP-stacks hadden geïdentificeerd.

Bron: opennet.ru

Voeg een reactie