Millionen Router und vernetzte Geräte über USB-Lücke angreifbar

Netzwerke
Breitbandanschluss (Bild: Shutterstock/Georgii Shipin)

Von der Lücke sind Geräte von 26 Herstellern betroffen. Ein Angreifer könnte sie ausnutzen um einen Pufferüberlauf hervorzurufen und anschließend Schadcode oder Denial-of-Service-Angriffe auszuführen. Anfällig ist die von KCodes entwickelte Funktion USB-over-IP. Sie wird benutzt, um USB-Geräte im Netzwerk freizugeben.

Millionen Router und Geräte für das Internet der Dinge lassen sich potenziell über die kritische Sicherheitslücke mit der Kennung CVE-2014-3036 angreifen. Nach deren Ausnutzung könnten Unbefugte Code mit Kernel-Rechten ausführen. Der Fehler findet sich in der von KCodes entwickelten USB-over-IP-Funktion NetUSB. Sie wird genutzt, um USB-Drucker oder externe Speichermedien im lokalen Netzwerk freizugeben. Unter anderem wurde sie für Router von D-Link, Netgear, TP-Link, Trendnet und Zyxel lizenzziert und verwendet.

Millionen Router über USB-Lücke in Software von KCodes angreifbar (Bild: Zyxel)

Wie der Sicherheitsexperte Stefan Viehbock vom SEC Consult Vulnerability Lab erklärt, erlaubt die Schwachstelle es unautorisierten Nutzern in einem lokalen Netzwerk, einen Kernel-Stack-Pufferüberlauf auszulösen, der wiederum Denial-of-Service-Attacken oder die Ausführung von Schadcode ermöglicht. Bei einigen Router-Konfigurationen sollen aber auch Angriffe aus der Ferne möglich sein.

Laut SEC Consult ist das bei einer “unzureichenden Eingabeprüfung” der Fall. Dadurch lasse sich mit einem überlangen Computernamen ein Überlauf des Kernel-Stack-Puffers provozieren. Die dadurch ausgelösten Speicherfehler können dann für Remotecodeausführung mit Nutzerrechten missbraucht werden.

“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.” Dabei handle es sich um einen klassischen Buffer Overflow auf dem Stack. Der Kernel-Treiber fungiere als Server und lausche im lokalen Netzwerk auf dem TCP-Port 20005.

Die fehlerhafte Komponente “NetUSB.inf” hat SEC Consult in Treibern von 26 Herstellern gefunden. Die Funktion war auf allen getesteten Geräten mit NetUSB-Code aktiviert. Der Server lief auch dann, wenn kein USB-Gerät angeschlossen war. Insgesamt hat das auf Penetrationstests spezialisierte Unternehmen die aktuelle Firmware von 92 Produkten untersucht.

Viehbock zufolge versuchte SEC Consult im Februar dieses Jahres, bevor es die Lücke in dessen Software öffentlich machte, Kontakt zum taiwanischen Entwickler KCodes aufzunehmen. Allerdings habe man 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.

Parallel schickte SEC Consult ein Advisory und eine Machbarkeitsdemo an Netgear sowie TP-Link und informierte auch andere Gerätehersteller über verschiedene CERTs. TP-Link hat inzwischen reagiert und bietet bereits Patches für einige seiner Routermodelle an. Weitere sollen bis Ende des Monats folgen.

Bei einigen Routern lässt sich das Sicherheitsproblem vorübergehend lösen, indem man NetUSB über die Weboberfläche deaktiviert. Laut Netgear gibt es bisher aber keinen echten Workaround für seine Produkte, weil die TCP-Ports auch dann offen bleiben, wenn sie hinter einer Firewall sind. Anwender können daher nur auf einen Patch 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

Anklicken um die Biografie des Autors zu lesen  Anklicken um die Biografie des Autors zu verbergen