Sicherheitslücken in FreeBSD, IPnet und Nucleus NET im Zusammenhang mit Fehlern bei der Implementierung der DNS-Komprimierung

Die Forschungsgruppen Forescout Research Labs und JSOF Research haben die Ergebnisse einer gemeinsamen Studie zur Sicherheit verschiedener Implementierungen des Komprimierungsschemas veröffentlicht, das zum Packen doppelter Namen in DNS-, mDNS-, DHCP- und IPv6-RA-Nachrichten (Verpacken doppelter Domänenteile in Nachrichten) verwendet wird die mehrere Namen enthalten). Im Zuge der Arbeiten wurden 9 Schwachstellen identifiziert, die unter dem Codenamen NAME:WRECK zusammengefasst sind.

Es wurden Probleme in FreeBSD sowie in den Netzwerksubsystemen IPnet, Nucleus NET und NetX festgestellt, die in den Echtzeitbetriebssystemen VxWorks, Nucleus und ThreadX, die in Automatisierungsgeräten, Speichergeräten, medizinischen Geräten, Avionik und Druckern verwendet werden, weit verbreitet sind und Unterhaltungselektronik. Schätzungen zufolge sind mindestens 100 Millionen Geräte von den Sicherheitslücken betroffen.

  • Eine Schwachstelle in FreeBSD (CVE-2020-7461) ermöglichte es, die Ausführung seines Codes zu organisieren, indem ein speziell entwickeltes DHCP-Paket an Angreifer gesendet wurde, die sich im selben lokalen Netzwerk wie das Opfer befanden, und dessen Verarbeitung durch einen anfälligen DHCP-Client gesteuert wurde zu einem Pufferüberlauf. Das Problem wurde durch die Tatsache gemildert, dass der dhclient-Prozess, in dem die Schwachstelle vorhanden war, mit Reset-Berechtigungen in einer isolierten Capsicum-Umgebung ausgeführt wurde, was zum Beenden die Identifizierung einer anderen Schwachstelle erforderte.

    Der Kern des Fehlers liegt in der falschen Überprüfung der Parameter im vom DHCP-Server zurückgegebenen Paket mit der DHCP-Option 119, die es Ihnen ermöglicht, die Liste „Domänensuche“ an den Resolver zu übertragen. Eine falsche Berechnung der Puffergröße, die zur Aufnahme entpackter Domänennamen erforderlich ist, führte dazu, dass vom Angreifer kontrollierte Informationen über den zugewiesenen Puffer hinaus geschrieben wurden. Bei FreeBSD wurde das Problem bereits im September letzten Jahres behoben. Das Problem kann nur ausgenutzt werden, wenn Sie Zugriff auf das lokale Netzwerk haben.

  • Eine Schwachstelle im eingebetteten IPnet-Netzwerkstapel, der in RTOS VxWorks verwendet wird, ermöglicht die potenzielle Codeausführung auf der DNS-Clientseite aufgrund einer unsachgemäßen Handhabung der DNS-Nachrichtenkomprimierung. Wie sich herausstellte, wurde diese Schwachstelle erstmals 2016 von Exodus entdeckt, aber nie behoben. Auch eine neue Anfrage an Wind River blieb unbeantwortet und IPnet-Geräte bleiben anfällig.
  • Im von Siemens unterstützten Nucleus NET TCP/IP-Stack wurden sechs Schwachstellen identifiziert, von denen zwei zur Remote-Codeausführung und vier zu Denial-of-Service führen könnten. Das erste gefährliche Problem hängt mit einem Fehler beim Dekomprimieren komprimierter DNS-Nachrichten zusammen, das zweite mit der falschen Analyse von Domänennamenbezeichnungen. Beide Probleme führen bei der Verarbeitung speziell formatierter DNS-Antworten zu einem Pufferüberlauf.

    Um Schwachstellen auszunutzen, muss ein Angreifer lediglich eine speziell entwickelte Antwort auf jede legitime Anfrage senden, die von einem anfälligen Gerät gesendet wird, indem er beispielsweise einen MTIM-Angriff durchführt und den Datenverkehr zwischen dem DNS-Server und dem Opfer stört. Wenn der Angreifer Zugriff auf das lokale Netzwerk hat, kann er einen DNS-Server starten, der versucht, problematische Geräte anzugreifen, indem er mDNS-Anfragen im Broadcast-Modus sendet.

  • Die Schwachstelle im NetX-Netzwerkstack (Azure RTOS NetX), der für ThreadX RTOS entwickelt und 2019 nach der Übernahme durch Microsoft geöffnet wurde, beschränkte sich auf Denial-of-Service. Das Problem wird durch einen Fehler beim Parsen komprimierter DNS-Nachrichten in der Resolver-Implementierung verursacht.

Von den getesteten Netzwerkstacks, in denen keine Schwachstellen im Zusammenhang mit der Komprimierung wiederholter Daten in DNS-Nachrichten gefunden wurden, wurden die folgenden Projekte genannt: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread und FNET. Darüber hinaus unterstützen die ersten beiden (Nut/Net und lwIP) überhaupt keine Komprimierung in DNS-Nachrichten, während die anderen diesen Vorgang fehlerfrei implementieren. Darüber hinaus wird darauf hingewiesen, dass dieselben Forscher zuvor bereits ähnliche Schwachstellen in den Treck-, uIP- und PicoTCP-Stacks identifiziert hatten.

Source: opennet.ru

Kommentar hinzufügen