NetUSB-Fehler: Millionen Router und IoT-Geräte angreifbar
26 Hersteller betroffen: Eine Pufferüberlauflücke erlaubt es Cyberkriminellen, Schadcode auszuführen oder Denial-of-Service-Angriffe zu starten. Die von KCodes entwickelte USB-over-IP-Funktion ist fehlerhaft. Sie dient zur Freigabe von USB-Geräten im Netzwerk.
Eine kritische Sicherheitslücke (CVE-2014-3036) gefährdet Millionen Router und Geräte für das Internet der Dinge. Angreifer können sie ausnutzen, um Code mit Kernel-Rechten auszuführen. Der Fehler befindet sich in der von KCodes entwickelten USB-over-IP-Funktion “NetUSB”. Mit lassen sich unter anderem USB-Drucker oder externe Speichermedien im lokalen Netzwerk freigeben. Zahlreiche Hersteller lizenzieren und setzen sie ein. Dazu zählen beispielsweise Router von D-Link, Netgear, TP-Link, Trendnet und Zyxel.
Wie Sicherheitsexperte Stefan Viehbock vom SEC Consult Vulnerability Lab mitteilt, erlaube die Schwachstelle unautorisierten Nutzern in einem lokalen Netzwerk, einen Kernel-Stack-Pufferüberlauf auszulösen. Dadurch seien Denial-of-Service-Attacken oder die Ausführung von Schadcode möglich. Außerdem sollen einige Routerkonfigurationen Angriffe aus der Ferne zulassen.
Wegen einer “unzureichenden Eingabeprüfung” ist die Lücke einer Sicherheitsmeldung von SEC Consult zufolge aus der Ferne angreifbar. Mit überlangen Computernamen lasse sich auf diese Weise ein Überlauf des entsprechenden Kernel-Stack-Puffers verursachen. Mit den dann auftretenden Speicherfehlern können Angreifer sie für Remotecodeausführung mit Nutzerrechten ausnutzen.
“Die Authentifizierung ist vollkommen nutzlos, weil die AES-Schlüssel statisch sind und sich sowohl im Kernel-Treiber als auch in der Client-Software für Windows und OS X finden”, erklärt Viehbock. “Als Teil des Verbindungsaufbaus sendet der Client seinen Computernamen. Wählt man einen Namen mit mehr als 64 Zeichen, läuft der Stack-Puffer über, wenn der Computername vom Socket empfangen wird.” Es handle sich dabei um einen klassischen Buffer Overflow auf dem Stack. Im Rahmen dessen komme der Kernel-Treiber als Server zum Einsatz und lausche im lokalen Netzwerk auf dem TCP-Port 20005.
In Treibern von 26 Herstellern hat SEC Consult die anfällige Komponente “NetUSB.inf” entdeckt. Auf allen untersuchten Geräten mit NetUSB-Code war die Funktion aktiviert. Selbst wenn kein USB-Gerät angeschlossen war, lief der Server. Insgesamt hat das auf Penetrationstests spezialisierte Unternehmen die aktuelle Firmware von 92 Produkten untersucht.
Warten auf Patches
Im Februar dieses Jahres versuchte SEC Consult Viehbock zufolge vor der Veröffentlichung der Lücke, mit dem taiwanischen Entwickler KCodes in Kontakt zu treten. Man habe jedoch zunächst keine Antwort erhalten. Im März setzte man schließlich einen Termin für eine Telefonkonferenz an, der dann aber kurzfristig von KCodes abgesagt wurde. SEC Consult schickte parallel ein Advisory und eine Machbarkeitsdemo an Netgear sowie TP-Link. Auch andere Gerätehersteller informierte es über unterschiedliche CERTs. TP-Link hat inzwischen reagiert und bietet bereits Patches für einige der betroffenen Routermodelle an. Weitere sollen bis Ende des Monats folgen.
Bei einigen Routern lässt sich das Sicherheitsproblem umgehen, indem man NetUSB über die Weboberfläche deaktiviert. Laut Netgear gibt es bisher aber keinen echten Workaround für die Produkte, weil die TCP-Ports auch dann offen bleiben, wenn sie hinter einer Firewall sind. Anwendern bleibt daher nichts anderes übrig, als auf einen Patch zu warten.
[mit Material von Björn Greif, ZDNet.de]
Tipp: Kennen Sie die Geschichte der Computerviren? Überprüfen Sie Ihr Wissen – mit 15 Fragen auf silicon.de