Die Forschungsgruppen Forescout Research Labs und JSOF Research haben die Ergebnisse einer gemeinsamen Sicherheitsuntersuchung verschiedener Implementierungen des Komprimierungsverfahrens veröffentlicht, das zur Verpackung wiederholter Namen in DNS-, mDNS-, DHCP- und IPv6-RA-Nachrichten verwendet wird (Verpackung doppelter Teile von Domains in Nachrichten, die mehrere Namen enthalten). Bei der durchgeführten Arbeit wurden 9 Schwachstellen festgestellt, die unter dem Codenamen NAME: WRECK zusammengefasst sind.
Die Probleme wurden in FreeBSD sowie in den Netzwerk-Subsystemen IPnet, Nucleus NET und NetX festgestellt, die in Echtzeit-Betriebssystemen wie VxWorks, Nucleus und ThreadX verbreitet sind und in Automatisierungsgeräten, Speicherlösungen, medizinischen Geräten, Avionik, Druckern und Unterhaltungselektronik Verwendung finden. Es wird davon ausgegangen, dass mindestens 100 Millionen Geräte von diesen Schwachstellen betroffen sind.
- Die Schwachstelle in FreeBSD (CVE-2020-7461) ermöglichte die Ausführung von Schadcode durch das Senden eines speziell gestalteten DHCP-Pakets durch einen Angreifer, der sich im selben lokalen Netzwerk wie das Opfer befand; die Verarbeitung dieses Pakets durch den verwundbaren DHCP-Client führte zu einem Pufferüberlauf. Eine Milderung des Problems stellte dar, dass der dhclient-Prozess, in dem die Schwachstelle vorhanden war, mit reduzierten Berechtigungen in einer isolierten Umgebung von Capsicum ausgeführt wurde, aus der ein weiteres Auffinden einer Schwachstelle erforderlich war, um einen Ausbruch zu ermöglichen.
Der Fehler liegt in der fehlerhaften Überprüfung der Parameter im vom DHCP-Server zurückgegebenen Paket mit der DHCP-Option 119, die eine Liste von „domain search“ für den Resolver überträgt. Die falsche Berechnung der Puffergröße, die für die Speicherung der entpackten Domainnamen, führte zur Überschreibung von kontrollierten Informationen über den vergebenen Puffer hinaus. In FreeBSD wurde das Problem bereits im September letzten Jahres behoben. Die Schwachstelle kann nur ausgenutzt werden, wenn Zugang zum lokalen Netzwerk besteht.
- Die Schwachstelle im eingebetteten Netzwerk-Stack IPnet, der in RTOS VxWorks verwendet wird, ermöglicht potenziell die Ausführung von Code auf der DNS-Client-Seite aufgrund einer fehlerhaften Verarbeitung von komprimierten DNS-Nachrichten. Wie sich herausstellte, wurde diese Schwachstelle erstmals 2016 von der Firma Exodus identifiziert, jedoch nie behoben. Eine erneute Anfrage an die Firma Wind River blieb ebenfalls unbeantwortet, und Geräte mit IPnet bleiben anfällig.
- Im TCP/IP-Stack Nucleus NET, der von Siemens unterstützt wird, wurden 6 Schwachstellen entdeckt, von denen zwei zu einer Remotecodeausführung führen könnten und vier zu einem Dienstunbrauchbarkeitsangriff. Das erste kritische Problem hängt mit einem Fehler beim Entpacken komprimierter DNS-Nachrichten zusammen, das zweite mit einer fehlerhaften Analyse von Domainnamen-Labels. Beide Probleme führen zu einem Pufferüberlauf bei der Verarbeitung speziell gestalteter DNS-Antworten.
Um die Schwachstellen auszunutzen, reicht es für einen Angreifer aus, eine speziell gestaltete Antwort auf eine beliebige legitime Anfrage zu senden, die von einem verwundbaren Gerät gesendet wurde, zum Beispiel durch Durchführung eines MITM-Angriffs und Einschleusen in den Datenverkehr zwischen dem DNS-Server und dem Opfer. Wenn der Angreifer Zugriff auf das lokale Netzwerk hat, kann er einen DNS-Server starten, der versucht, die problematischen Geräte durch Versenden von mDNS-Anfragen im Broadcast-Modus anzugreifen.
- Die Schwachstelle im Netzwerk-Stack NetX (Azure RTOS NetX), der für das ThreadX RTOS entwickelt wurde und 2019 nach dem Eigentumswechsel zu Microsoft veröffentlicht wurde, führte lediglich zu einem Dienstunbrauchbarkeitsangriff. Das Problem wird durch einen Fehler beim Parsen komprimierter DNS-Nachrichten in der Implementierung des Resolvers verursacht.
In den geprüften Netzwerk-Stacks, in denen keine Schwachstellen im Zusammenhang mit der Kompression wiederholter Daten in DNS-Nachrichten gefunden wurden, sind die Projekte lwIP, Nut/Net, Zephyr, uC/TCP-IP, FreeRTOS+TCP, OpenThread und FNET genannt worden. Dabei unterstützen die ersten beiden (Nut/Net und lwIP) die Kompression in DNS-Nachrichten überhaupt nicht, während die anderen diese Operation fehlerfrei implementieren. Darüber hinaus wird festgestellt, dass dieselben Forscher zuvor bereits ähnliche Schwachstellen in den Stacks Treck, uIP und PicoTCP gefunden hatten.
Quelle: opennet.ru
