TL;DR: Wenn Sie eine Zyxel USG, ATP, VPN, ZyWALL oder USG FLEX besitzen, sollten Sie heute auf die neueste Firmware-Version aktualisieren. Die vollständige Liste der betroffenen Geräte finden Sie hier und den Zyxel-Hinweis hier.
Zyxel ist eine beliebte Marke für Firewalls, die sich an kleine und mittlere Unternehmen richtet. Ihre Unified Security Gateway (USG)-Produktlinie wird häufig als Firewall oder VPN-Gateway eingesetzt. Da viele von uns von zu Hause aus arbeiten, haben sich VPN-fähige Geräte in letzter Zeit sehr gut verkauft.
Als ich einige Nachforschungen (Rooting) an meinem Zyxel USG40 anstellte, war ich überrascht, ein Benutzerkonto 'zyfwp' mit einem Passwort-Hash in der neuesten Firmware-Version (4.60 Patch 0) zu finden. Das Klartextpasswort war in einer der Binärdateien auf dem System sichtbar. Noch überraschter war ich, dass dieses Konto sowohl auf der SSH- als auch auf der Web-Oberfläche zu funktionieren schien.
$ ssh zyfwp@192.168.1.252
Password: Pr*******Xp
Router> show users current
No: 1
Name: zyfwp
Type: admin
(...)
Router>
Der Benutzer ist in der Benutzeroberfläche nicht sichtbar und sein Passwort kann nicht geändert werden. Ich habe die vorherige Firmware-Version (4.39) überprüft, und obwohl der Benutzer vorhanden war, hatte er kein Passwort. Es schien, als sei die Schwachstelle in der letzten Firmware-Version eingeführt worden. Auch wenn ältere Versionen diese Schwachstelle nicht aufweisen, haben sie andere (wie diesen Pufferüberlauf), so dass Sie trotzdem aktualisieren sollten.
Da SSL VPN auf diesen Geräten über denselben Port wie die Webschnittstelle läuft, haben viele Benutzer den Port 443 dieser Geräte dem Internet ausgesetzt. Anhand öffentlich zugänglicher Daten von Project Sonar konnte ich etwa 3.000 Zyxel USG/ATP/VPN-Geräte in den Niederlanden identifizieren. Weltweit haben mehr als 100.000 Geräte ihre Weboberfläche für das Internet geöffnet.
Unserer Erfahrung nach aktualisieren die meisten Benutzer dieser Geräte die Firmware nicht sehr oft. Zyxel-Geräte geben ihre Firmware-Version nicht an nicht authentifizierte Benutzer weiter, so dass es etwas schwieriger ist festzustellen, ob ein Gerät anfällig ist. Wir wollten eine Vorstellung davon bekommen, wie viele Geräte betroffen sind, aber einfach das Passwort auszuprobieren, ist nicht wirklich eine Option (ethisch und rechtlich). Glücklicherweise können einige Javascript- und CSS-Dateien von der Webschnittstelle dieser Geräte ohne Authentifizierung angefordert werden. Diese Dateien scheinen sich mit jeder Firmware-Version zu ändern. Anhand dieser Informationen können wir einen eindeutigen Fingerabdruck der verwundbaren Firmware-Version erhalten. Wir haben diese Informationen verwendet, um die Firmware-Version von 1.000 Geräten in den Niederlanden zu identifizieren und festgestellt, dass etwa 10 % der Geräte mit der betroffenen Firmware-Version arbeiten. Zyxel bietet zwar automatische Updates an, diese sind jedoch standardmäßig nicht aktiviert. Glücklicherweise konnten wir diese Schwachstelle nur wenige Wochen nach ihrer Einführung finden, sonst wäre die Zahl der betroffenen Geräte noch viel größer gewesen.
Da der Benutzer zyfwp über Administratorrechte verfügt, ist dies eine schwerwiegende Sicherheitslücke. Ein Angreifer könnte die Vertraulichkeit, Integrität und Verfügbarkeit des Geräts vollständig gefährden. Jemand könnte zum Beispiel die Firewall-Einstellungen ändern, um bestimmten Datenverkehr zuzulassen oder zu blockieren. Er könnte auch den Datenverkehr abfangen oder VPN-Konten erstellen, um Zugang zum Netzwerk hinter dem Gerät zu erhalten. In Kombination mit einer Sicherheitslücke wie Zerologon, könnte dies für kleine und mittlere Unternehmen verheerende Folgen haben.
Aufgrund der Schwere der Sicherheitslücke und der Tatsache, dass sie so einfach auszunutzen ist, haben wir beschlossen, das Kennwort für dieses Konto zu diesem Zeitpunkt nicht zu veröffentlichen. Wir gehen davon aus, dass andere die Schwachstelle finden und veröffentlichen werden. Deshalb empfehlen wir Ihnen, die aktualisierte Firmware so schnell wie möglich zu installieren.
Ich habe schnell eine E-Mail an Zyxel geschickt, um das undokumentierte Benutzerkonto zu melden. Laut Zyxel wurde das Konto eingerichtet, um automatische Firmware-Updates für Access Points über FTP bereitzustellen. Weniger als zwei Wochen später wurde eine korrigierte Firmware-Version veröffentlicht. Die Release Notes für den USG40 finden Sie hier.
Dies ist der Eintrag in den Versionshinweisen, der diese Sicherheitslücke beschreibt:
[BUG FIX][CVE-2020-29583]
a. Vulnerability fix for undocumented user account.
Wir danken dem Zyxel Security Team für die schnelle Reaktion und den Patch.
Zeitplan für die Offenlegung
2020-11-29: Eye meldet Sicherheitslücke an Zyxel
2020-11-30: Zyxel bestätigt den Erhalt der Meldung
2020-12-02: Zyxel fordert weitere Informationen darüber an, wie die Sicherheitslücke entdeckt wurde
2020-12-03: Eye sendet weitere Details
2020-12-08: Zyxel veröffentlicht die Beta-Firmware 4.60-WK48 und entfernt die verwundbare Firmware-Version von seiner Website
2020-12-15: Zyxel veröffentlicht Firmware 4.60 Patch 1 für die meisten Geräte
2020-12-18: Zyxel veröffentlicht Firmware 4.60 Patch 1 für alle übrigen Geräte
2020-12-23: Zyxel veröffentlicht Hinweis