nginx for Windows von OpenSSL Privilegien-Schwachstelle betroffen

Sicherheit (Pexels, allgemeine Nutzung)[English]Wer nginx unter Windows als Webserver, Reverse Proxy und E-Mail-Proxy einsetzt, hat möglicherweise ein Problem. Gerade bin ich darauf gestoßen, dass nginx for Windows in diversen Versionen wie 1.22.1 eine Schwachstelle aufweist, die eine Privilegienerhöhung für normale Nutzer ermöglicht. Grund ist, dass die verwendeten OpenSSL-Bibiliothek aus einem Pfad geladen wird, der manipulierbar ist.


Anzeige

nginx for Windows mit Schwachstelle

Ich bin gerade auf Twitter durch einen Tweet von Will Dormann darauf aufmerksam geworden, dass nginx for Windows eine Schwachstelle in Verbindung mit der OpenSSL-Bibliothek aufweist, die eine Privilegienausweitung ermöglicht.

vulnerability in nginx for Windows

Auf der nginx-Seite gibt es dieses Ticket, in dem  jemand feststellt, dass die offiziellen Windows-Builds von nginx eine Schwachstelle enthalten. Sobald nginx gestartet wird, versucht es, die OpenSSL-Konfigurationsdatei von:

C:\MinGW\msys\1.0\home\Administrator\nginx\objs.msvc8\lib\openssl-1.1.1q\openssl\ssl\openssl.cnf

nachzuladen. Dummerweise kann jeder Benutzer mit Standardprivilegien diesen Pfad mit den Ordnern erstellen und sofern vorhanden, die Datei beschreiben. Ein Angreifer könnte die openssl.cnf so manipulieren, dass sie eine beliebige OpenSSL-Engine-Bibliothek auf irgend einem Pfad lädt.


Anzeige

Dies lässt sich möglicherweise für eine Privilegien-Ausweitung ausnutzen, indem eine beliebige OpenSSL-Engine-Bibliothek eingeschleust wird. In vielen Fällen wird nginx entweder von einem Administrator oder im Kontext von NT AUTHORITY\SYSTEM ausgeführt, was zu einer Privilegienerweiterung führt, falls bösartiger Code aus der OpenSSL-Engine-Bibliothek nachgeladen wird.

Das Ganze wurde mit nginx-1.22.1 (Stable) und 1.23.2 (Mainline) unter Windows 10 21H2 getestet. Der Tester, der das Ticket erstellt hat, vermutet, dass der Bug in der Legacy Build nginx-1.20.2.zip erstmals eingeführt wurde.

Was ist nginx?

nginx ist ein Webserver, der auch als Reverse-Proxy, Load Balancer, Mail-Proxy und HTTP-Cache verwendet werden kann. Die Software wurde von Igor Sysoev entwickelt und 2004 veröffentlicht. Nginx ist freie und quelloffene Software, die unter den Bedingungen der BSD-Lizenz mit zwei Klauseln veröffentlicht wurde. Ein großer Teil der Webserver verwendet Nginx, oft als Load Balancer.

Ich könnte mir vorstellen, dass nginx for Windows als Reverse-Proxyfür Microsoft Exchange eingesetzt wird, um diese Software vom Internet zu isolieren. Zumindest sind mir entsprechende Kommentare auf Facebook sowie hier im Blog untergekommen.

Momentan wartet die gesamte Software-Branche auf Details zu einer als kritisch eingestuften Schwachstelle in OpenSSL. OpenSSL ist eine weit verbreitete Code-Bibliothek, die eine sichere Kommunikation über das Internet ermöglicht. OpenSSL umfasst Implementierungen der Netzwerkprotokolle und verschiedener Verschlüsselungen. Ich hatte zum 31. Oktober 2022 im Blog-Beitrag Hinweis: Patch für OpenSSL Schwachstelle zum 1. Nov. 2022 ja auf das Problem der noch nicht näher bekannten Schwachstelle hingewiesen. Am heutigen 1. November 2022 wird ein Update auf OpenSSL 3.0.7 erwartet. Dann wird auch schnell klar werden, welche Software-Produkte von der Schwachstelle betroffen werden. Der obige Bug hat aber mit dieser Problematik erst einmal nichts zu tun.


Anzeige

Dieser Beitrag wurde unter Sicherheit, Software abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

5 Antworten zu nginx for Windows von OpenSSL Privilegien-Schwachstelle betroffen

  1. Stefan Kanthak sagt:

    Flachse Überschrift!
    Korrekt ist: nginx (für Windows) von ahnungslosen Anfängern zusammengefrickelt!
    Das Crypto-API ist (aber erst seit 30 Jahren) eine mit Windows NT gelieferte Komponente; nicht merkbefreite Entwickler nutzen dieses anstelle irgendwelchen Schrotts von Drittanbietern.

  2. marc sagt:

    Eine der wichtigsten Infos ist wohl direkt auf der nginx Webseite zu finden.
    https://nginx.org/en/docs/windows.html

    –> Due to this and some other known issues version of nginx for Windows is considered to be a beta version. <–

    Was den produktiven Einsatz angeht…eher was anderes nehmen.

  3. Paul sagt:

    Dejavu?

    Emm. Wie kann es sein, das JEDER auf dem Pfad
    "home\Administrator" schreiben darf?

    Zuhause noch alles gesund?
    In der Unix-Welt kann m.W. niemand auf das "home" des Users root schreiben.
    Alle Dateien werden zudemmir entsprechenden Rechten angegelt und es gilt heute als unfein ständig als root zu arbeiten.
    So kann man dem Admin irgendwelche Befehle unterjubeln.
    (Weshalb der Such-Pfad für den User Root unter Unix so eingestellt wird, das er auf dem aktuellen Verzeichnis nicht sucht. Will Root da etwas ausführen muss er "./" vor dem Befehl setzen.)

    Das ist kein Fehler von nginx sondern vom Setup von MinGW und betrifft
    wahrscheinlich

    jedes Programm,

    das unter der MinGW installiert oder ausgeführt wird….

    Ja, die Windows Rechteverwaltung ist schon verwirrend und kompliziert.

    ("MinGW" ist ein Unix-Shell Emulation unter Windows)

    • M.D. sagt:

      Jain. Es ist ja nicht "C:\Users\Administrator" sondern "C:\MinGW\msys\…".

      Wenn dann, wie fast immer üblich, Vererbung eingeschaltet ist und die Rechte ganz unten zu locker sind, dann passiert so ein Mist.

      Das wirkt so, als hätte jemand beim Erstellen des Binärpakets vergessen, den Debug-Modus "abzuklemmen" und dieses Default-Verzeichnis, was nur für die Entwicklung und zum Testen gedacht ist, drin gelassen. Obendrein werden durch das Setup dann auch noch falsche Rechte auf den Installationspfad gesetzt bzw. akzeptiert. Eigentlich sollte sogar das Binary selber beim Start die Rechte auf die gelesenen Config-Dateien überprüfen und sich weigern diese zu verwenden, wenn sie zu lax sind. Die "OpenSSH for Windows" meckert zum Beispiel, wenn die Rechte auf das ".ssh"-Verzeichnis und dort hinterlegte Schlüssel zu offen sind.

  4. 1ST1 sagt:

    Für Node.js werden diese Woche auch Updates kommen.

    https://nodejs.org/en/blog/vulnerability/openssl-november-2022/

    Vermutlich Pakete wie XAMPP demnächst auch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.