Die Forschungsgruppen Forescout Research Labs und JSOF Research haben die Ergebnisse einer gemeinsamen Sicherheitsstudie zu verschiedenen Implementierungen des Kompressionsschemas veröffentlicht, das zur Verpackung wiederholter Namen in DNS-, mDNS-, DHCP- und IPv6-RA-Nachrichten verwendet wird (Verpackung von sich wiederholenden Teilen von Domänen in Nachrichten, die mehrere Namen enthalten). Im Rahmen dieser Untersuchung wurden 9 Schwachstellen identifiziert, die unter dem Codenamen NAME:WRECK zusammengefasst sind.
Probleme wurden in FreeBSD sowie in den Netzwerk-Subsystemen IPnet, Nucleus NET und NetX festgestellt, die in Echtzeitsystemen wie VxWorks, Nucleus und ThreadX weit verbreitet sind und in Automatisierungsgeräten, Speichersystemen, medizinischen Geräten, Avionik, Druckern und Unterhaltungselektronik eingesetzt werden. Es wird vermutet, dass mindestens 100 Millionen Geräte von diesen Schwachstellen betroffen sind.
- Eine Schwachstelle in FreeBSD (CVE-2020-7461) ermöglichte es Angreifern, ihren eigenen Code auszuführen, indem sie speziell gestaltete DHCP-Pakete an ein Opfer im selben lokalen Netzwerk sendeten. Die Verarbeitung dieser Pakete durch den anfälligen DHCP-Client führte zu einem Buffer Overflow. Die Tatsache, dass der Prozess dhclient, der die Schwachstelle enthält, mit abgesenkten Rechten in einer isolierten Umgebung (Capsicum) ausgeführt wurde, milderte das Problem, da es eine weitere Schwachstelle erfordert hätte, um aus dieser Umgebung hinauszugelangen.
Das Hauptproblem liegt in einer fehlerhaften Überprüfung der Parameter in dem vom DHCP-Server zurückgegebenen Paket mit der DHCP-Option 119, die es ermöglicht, eine Liste für den "Domain Search"-Resolver zu übermitteln. Eine falsche Berechnung der Puffergröße, die zum Speichern der entpackten von Domainnamen, führte dazu, dass von Angreifern kontrollierte Informationen außerhalb des zugewiesenen Puffers geschrieben wurden. In FreeBSD wurde das Problem bereits im September des letzten Jahres behoben. Die Schwachstelle kann nur ausgenutzt werden, wenn Zugriff auf das lokale Netzwerk besteht.
- Eine Schwachstelle im eingebetteten IPnet-Netzwerk-Stack, der in RTOS VxWorks verwendet wird, ermöglicht potenziell die Ausführung von Code auf der Seite des DNS-Clients aufgrund einer fehlerhaften Verarbeitung von DNS-Nachrichtekompression. Wie sich herausstellte, wurde diese Schwachstelle erstmals 2016 von der Firma Exodus entdeckt, jedoch bis heute nicht behoben. Auch eine neue Anfrage an das Unternehmen Wind River blieb unbeantwortet, und Geräte mit IPnet sind weiterhin anfällig.
- Im TCP/IP-Stack Nucleus NET, der von Siemens unterstützt wird, wurden sechs Schwachstellen entdeckt, von denen zwei zu einer Remote-Codeausführung führen könnten und vier zu einem Denial-of-Service-Angriff. Das erste schwerwiegende Problem betrifft einen Fehler beim Entpacken komprimierter DNS-Nachrichten, während das zweite mit der fehlerhaften Analyse von Domainnamen-Tags zusammenhängt. Beide Probleme führen zu einem Pufferüberlauf bei der Verarbeitung speziell gestalteter DNS-Antworten.
Um Schwachstellen auszunutzen, reicht es für den Angreifer aus, eine speziell formatierte Antwort auf eine beliebige legitime Anfrage zu senden, die von einem verwundbaren Gerät ausgeht, beispielsweise durch die Durchführung eines MTIM-Angriffs und das Einschleusen in den Datenverkehr zwischen dem DNS-Server und dem Opfer. Hat der Angreifer Zugriff auf das lokale Netzwerk, kann er einen DNS-Server starten, der versucht, problematische Geräte durch das Senden von mDNS-Anfragen im Broadcast-Modus anzugreifen.
- Die Schwachstelle im Netzwerk-Stack NetX (Azure RTOS NetX), entwickelt für das ThreadX RTOS und 2019 nach dem Übergang in die Hände von Microsoft offengelegt, führte zu einem Dienstverweigerung. Das Problem wird durch einen Fehler bei der Analyse von komprimierten DNS-Nachrichten in der Implementierung des Resolvers verursacht.
Von überprüften Netzwerk-Stacks, in denen keine Schwachstellen im Zusammenhang mit der Kompression wiederholter Daten in DNS-Nachrichten gefunden wurden, wurden die Projekte lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread und FNET genannt. Dabei unterstützen die ersten beiden (Nut/Net und lwIP) überhaupt keine Kompression in DNS-Nachrichten, während die anderen diese Operation ohne Fehler durchführen. Zudem wurde festgestellt, dass dieselben Forscher zuvor ähnliche Schwachstellen in den Stacks Treck, uIP und PicoTCP identifiziert hatten.
Quelle: opennet.ru
