Tracking-News: Juniper Junos-Schwachstellen

5 bekannte Juniper Junos-Schwachstellen, die aktiv ausgenutzt werden können

Die CISA hat 5 CVEs im Zusammenhang mit Juniper Junos (auch bekannt als Junos OS) in ihren Katalog der bekannten ausgenutzten Sicherheitslücken (KEV) aufgenommen. Die vollständige Exploit-Kette umfasst die Kombination mehrerer CVEs mit geringerem Schweregrad, um eine Remotecodeausführung (RCE) vor der Authentifizierung zu erreichen. Die 5 CVEs reichen in ihrem Schweregrad von CVSS 9.8 Critical bis CVSS 5.3 Medium. Die Greenbone Enterprise Appliances enthalten Schwachstellentests, die betroffene Systeme identifizieren können.

Das Verständnis des zeitlichen Ablaufs der Ereignisse sollte Netzwerkverteidigern helfen, zu begreifen, wie schnell Cyberbedrohungen eskalieren können. In diesem Fall wurde ein Proof-of-Concept (PoC) nur 8 Tage nach der Veröffentlichung des Sicherheitshinweises des Herstellers Juniper veröffentlicht. Sicherheitsforscher beobachteten nur 12 Tage nach der Veröffentlichung einen aktiven Angriff. Doch erst mehrere Monate später bestätigte die CISA die aktive Ausnutzung der Schwachstelle. Die Entwickler von Greenbone fügten bereits am 18. August 2023, unmittelbar nach der Veröffentlichung, Erkennungstests [1][2] für alle betroffenen Versionen der beiden betroffenen Produktreihen (Ethernet-Switches der EX-Serie und Service-Gateways der SRX-Serie zum Greenbone Enterprise Feed hinzu.

Hier finden Sie eine kurze Beschreibung der einzelnen CVEs:

  • CVE-2023-36844 (CVSS 5.3 Medium): Eine PHP-External-Variable-Modification [CWE-473]-Schwachstelle besteht in J-Web, einem Tool, das für die Fernkonfiguration und -verwaltung von Junos OS verwendet wird. Die Schwachstelle ermöglicht es einem nicht authentifizierten, netzwerkbasierten Angreifer, sensible PHP-Umgebungsvariablen zu verändern. CVE-2023-36844 ermöglicht die Verkettung mit anderen Schwachstellen, die zu einem nicht authentifizierten RCE führen.
  • CVE-2023-36845 (CVSS 9.8 Kritisch): Eine PHP-External-Variable-Modification-Schwachstelle [CWE-473] in J-Web ermöglicht es einem nicht authentifizierten, netzwerkbasierten Angreifer, Code aus der Ferne auszuführen. Mit einer manipulierten Anfrage, die die Variable PHPRC setzt, kann ein Angreifer die PHP-Ausführungsumgebung ändern, um Code einzuschleusen und auszuführen.
  • CVE-2023-36846 (CVSS 5.3 Medium): Eine fehlende Authentifizierung für eine kritische Funktion [CWE-306] in Juniper Networks Junos OS ermöglicht es einem nicht authentifizierten, netzwerkbasierten Angreifer, die Integrität des Dateisystems mit einer bestimmten Anfrage an user.php über J-Web zu beeinflussen. Ohne Authentifizierung ist ein Angreifer in der Lage, beliebige Dateien hochzuladen [CWE-434], was eine Verkettung mit anderen Schwachstellen einschließlich nicht authentifiziertem RCE ermöglicht.
  • CVE-2023-36847 (CVSS 5.3 Medium): Eine Schwachstelle in Juniper Networks Junos OS mit fehlender Authentifizierung für kritische Funktionen [CWE-306] ermöglicht es einem nicht authentifizierten, netzwerkbasierten Angreifer, die Integrität des Dateisystems zu beeinflussen. Mit einer böswilligen Anfrage an installAppPackage.php über J-Web kann ein Angreifer beliebige Dateien [CWE-434] ohne Authentifizierung hochladen, was eine Verkettung mit anderen Schwachstellen ermöglichen kann, die zu RCE führen.
  • CVE-2023-36851 (CVSS 5.3 Medium): Eine Schwachstelle in Juniper Networks Junos OS mit fehlender Authentifizierung für kritische Funktionen [CWE-306] ermöglicht es einem nicht authentifizierten, netzwerkbasierten Angreifer, die Integrität des Dateisystems zu beeinflussen. Mit einer speziellen Anfrage an webauth_operation.php, die keine Authentifizierung erfordert, ist ein Angreifer in der Lage, beliebige Dateien über J-Web [CWE-434] hochzuladen, was zu einem Verlust der Integrität eines bestimmten Teils des Dateisystems und zu einer Verkettung mit anderen Sicherheitslücken führt.

Verstehen des Angriffsverlaufs

Mehrere der oben aufgeführten CVEs sind als Schwachstellen mit fehlender Authentifizierung für kritische Funktionen [CWE-306] klassifiziert, was bedeutet, dass verschiedene Funktionen der Webanwendung zur Geräteverwaltung von J-Web keine ordnungsgemäßen Authentifizierungsprüfungen implementieren.

Im Folgenden wird zusammengefasst, wie diese Schwachstellen zu einem nicht authentifizierten RCE zusammengefügt wurden:

Die J-Web-Anwendung ist in PHP geschrieben, das, wie die WatchTowr-Forscher feststellten, für seine Benutzerfreundlichkeit auf Kosten der Sicherheit bekannt ist. Im Fall von CVE-2023-36846 implementierte die Datei „webauth_operation.php“ von J-Web eine andere Methode zur Authentifizierung als der Rest der Anwendung. Diese Datei ruft stattdessen die Funktion „sajax_handle_client_request()“ auf und übergibt den Wert „false“ als Parameter „doauth“, was dazu führt, dass keine Authentifizierung durchgeführt wird. Die oben erwähnte Funktion ’sajax_handle_client_request()‘ dient dazu, die in J-Web integrierten Funktionen auszuführen, indem sie als $_POST-Variable angegeben werden, einschließlich der Funktion ‚do_upload()‘, die zum Hochladen von Dateien verwendet wird.

CVE-2023-36845 ist eine Schwachstelle im Junos-Webserver, die es ermöglicht, Systemumgebungsvariablen über das Feld ’name‘ einer HTTP-POST-Anforderung zu setzen, wenn ein ‚Content-Type: multipart/form-data‘-Header verwendet wird. Zwei Exploits, die der Beschreibung von CVE-2023-36845 entsprechen, wurden zuvor für den GoAhead-IoT-Webserver offengelegt und als CVE-2017-17562 und CVE-2021-42342 verfolgt, was darauf hindeutet, dass der Junos-Webserver wahrscheinlich den proprietären GoAhead-Webserver implementiert.

Das Ausführen der hochgeladenen Datei ist möglich, indem die Umgebungsvariable PHPRC gesetzt wird, mit der eine nicht autorisierte PHP-Konfigurationsdatei „php.ini“ geladen wird, die ebenfalls über CVE-2023-36846 hochgeladen wurde und eine bösartige „auto_prepend_file“-Einstellung enthält, die PHP anweist, die erste hochgeladene Datei jedes Mal auszuführen, wenn eine Seite geladen wird. Hier ist die vollständige Beispielkette.

Abschwächung der jüngsten Juniper Junos-Schwachstellen

Die 5 neuen CVEs betreffen Juniper Networks Junos OS auf Ethernet-Switches der EX-Serie und Service-Gateways der SRX-Serie. Konkret handelt es sich um Junos OS Version 20.4 und früher, 21.1, 21.2, 21.3, 21.4, 22.1, 22.2, 22.3, 22.4 und 23.2 auf den Geräten der EX- und SRX-Serie.

Die beste Abhilfemaßnahme ist die Installation der Sicherheitspatches für Junos OS. Wenn Sie die offiziell bereitgestellten Sicherheitspatches nicht installieren können, können Sie die J-Web-Schnittstelle vollständig deaktivieren oder Firewalls mit einer Akzeptanzliste konfigurieren, um den Zugriff nur auf vertrauenswürdige Hosts zu beschränken, um einen Missbrauch zu verhindern. Generell kann die strikte Beschränkung des Zugriffs auf kritische Server und Netzwerk-Appliances auf Client-IP-Adressen, die Zugriff benötigen, die Ausnutzung ähnlicher, noch nicht entdeckter, aus der Ferne ausnutzbarer Zero-Day-Schwachstellen verhindern.