De onderzoeksafdelingen van Forescout Research Labs en JSOF Research hebben de resultaten gepubliceerd van een gezamenlijk onderzoek naar de veiligheid van verschillende implementaties van compressieschema's die worden gebruikt voor het inpakken van herhaalde namen in DNS-, mDNS-, DHCP- en IPv6 RA-berichten (het inpakken van dubbele delen van domeinen in berichten met meerdere namen). Tijdens het uitgevoerde onderzoek zijn er 9 kwetsbaarheden aangetroffen, die samengevoegd zijn onder de codenaam NAME:WRECK.
Problemen werden vastgesteld in FreeBSD, evenals in de netwerksubsystemen IPnet, Nucleus NET en NetX, die zijn verspreid in realtime besturingssystemen zoals VxWorks, Nucleus en ThreadX, die worden gebruikt in automatiseringsapparaten, opslag, medische apparatuur, avionic, printers en consumentenelektronica. Het wordt geschat dat minstens 100 miljoen apparaten kwetsbaar zijn.
- De kwetsbaarheid in FreeBSD (CVE-2020-7461) stelde een aanvaller in staat om zijn eigen code uit te voeren door een speciaal ontworpen DHCP-pakket te verzenden naar een doelwit dat zich in hetzelfde lokale netwerk bevond, waarbij de verwerking van dit pakket door een kwetsbare DHCP-client leidde tot een bufferoverloop. Het probleem werd verergerd doordat het dhclient-proces, waarin de kwetsbaarheid zich bevond, met verlaagde privileges draaide in een geïsoleerde Capsicum-omgeving, waarvan het nodig was om een andere kwetsbaarheid te ontdekken om eruit te komen.
De essentie van de fout ligt in de onjuiste controle van parameters in het door de DHCP-server teruggegeven pakket met DHCP-optie 119, die een lijst ‘domain search’ voor de resolver kan doorgeven. Een onjuiste berekening van de bufferomvang die nodig is om de ongedoopte gegevens onder te brengen, leidde tot het overschrijven van gecontroleerde aanvallerinformatie buiten de toegewezen buffer. domeinnamenDit probleem werd in FreeBSD al in september vorig jaar verholpen. Het probleem kan alleen worden uitgebuit bij toegang tot het lokale netwerk.
- De kwetsbaarheid in de ingebouwde netwerkstack IPnet, die wordt gebruikt in RTOS VxWorks, kan potentieel code aan de DNS-clientzijde uitvoeren als gevolg van onjuiste verwerking van DNS-berichtencompressie. Blijkbaar werd deze kwetsbaarheid voor het eerst ontdekt door Exodus in 2016, maar is deze nooit verholpen. Een nieuw verzoek aan Wind River bleef ook onbeantwoord en apparaten met IPnet blijven kwetsbaar.
- In de TCP/IP-stack van Nucleus NET, ondersteund door Siemens, zijn 6 kwetsbaarheden ontdekt, waarvan er twee konden leiden tot remote code execution en vier tot denial of service. Het eerste gevaarlijke probleem is gerelateerd aan een fout bij het decompressie van gecomprimeerde DNS-berichten, terwijl het tweede gaat om een onjuiste parsing van domeinnamen. Beide problemen leiden tot een buffer overflow bij het verwerken van speciaal gevormde DNS-antwoorden.
Voor de exploitatie van de kwetsbaarheden is het voor de aanvaller voldoende om een speciaal gevormd antwoord te sturen op elk legitiem verzoek dat van het kwetsbare apparaat is verzonden, bijvoorbeeld door een MITM-aanval uit te voeren en in te breken in het verkeer tussen de DNS-server en het doelwit. Als de aanvaller toegang heeft tot het lokale netwerk, kan hij een DNS-server opzetten die probeert problematische apparaten aan te vallen door mDNS-verzoeken in broadcastmodus te verzenden.
- De kwetsbaarheid in de netwerkstack NetX (Azure RTOS NetX), ontwikkeld voor ThreadX RTOS en geopend in 2019 na de overname door Microsoft, beperkte zich tot een denial of service. Het probleem is veroorzaakt door een parsingfout bij gecomprimeerde DNS-berichten in de implementatie van de resolver.
Van de onderzochte netwerkstacks waarin geen kwetsbaarheden zijn gevonden die verband houden met de compressie van herhalende gegevens in DNS-berichten, zijn de projecten lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread en FNET genoemd. De eerste twee (Nut/Net en lwIP) ondersteunen helemaal geen compressie in DNS-berichten, terwijl de anderen deze operatie zonder fouten implementeren. Bovendien wordt opgemerkt dat dezelfde onderzoekers eerder soortgelijke kwetsbaarheden al hebben ontdekt in de stacks Treck, uIP en PicoTCP.
Bron: opennet.ru
