Das Forschungsteam von Unit 42 hat drei Schwachstellen im quelloffenen OpenLiteSpeed Web Server untersucht und entdeckt. Diese betreffen auch die Unternehmensversion LiteSpeed Web Server. Durch die Verkettung und Ausnutzung der Schwachstellen könnten Angreifer den Webserver kompromittieren und eine vollständig privilegierte Remotecodeausführung erlangen.
Zu den entdeckten Schwachstellen gehören:
- Remote Code Execution (CVE-2022-0073), eingestuft mit hohem Schweregrad (CVSS 8.8): Ein Angreifer, dem es gelungen ist, die Zugangsdaten für das Dashboard zu erlangen, könnte die Sicherheitslücke ausnutzen, um Code auf dem Server auszuführen.
- Privilege Escalation (CVE-2022-0074), eingestuft mit hohem Schweregrad (CVSS 8.8): Eine Fehlkonfiguration in der Umgebungsvariablen PATH könnte zu einer Privilegieneskalation ausgenutzt werden.
- Directory Traversal (CVE-2022-0072), eingestuft mit mittlerem Schweregrad (CVSS 5.8): Die Ausnutzung dieser Schwachstelle ermöglicht Angreifern den Zugriff auf jede Datei im Web-Root-Verzeichnis.
OpenLiteSpeed ist die Open-Source-Version von LiteSpeed Web Server Enterprise, die von LiteSpeed Technologies entwickelt und gepflegt wird. LiteSpeed Web Server wird als sechstbeliebtester Webserver gelistet. Analysen von Palo Alto Networks Cortex Xpanse und Shodan zeigen, dass LiteSpeed etwa zwei Prozent aller Webserver-Anwendungen bedient, mit fast 1,9 Millionen einzelnen Servern weltweit.
Unit 42 meldete die Schwachstellen am 4. Oktober 2022 an LiteSpeed Technologies und schlug Abhilfemaßnahmen vor. LiteSpeed Technologies veröffentlichte am 18. Oktober 2022 eine Patch-Version (v1.7.16.1), um die gemeldeten Schwachstellen zu beseitigen. Unternehmen, die die OpenLiteSpeed-Versionen 1.5.11 bis 1.7.16 und die LiteSpeed-Versionen 5.4.6 bis 6.0.11 verwenden, wird empfohlen, ihre Software auf die neueste Version zu aktualisieren – v1.7.16.1 und 6.0.12.
Kunden von Palo Alto Networks, die Prisma Cloud WAAS oder Next-Generation Firewalls mit Advanced Threat Prevention einsetzen, erhalten Schutz vor diesen Schwachstellen durch neue Regeln und Signaturen, die den Angriff blockieren.
Hintergrund
LiteSpeed ist ein auf Leistung fokussierter Webserver. Nach Erkenntnissen von Unit 24 sind 1,9 Millionen LiteSpeed-Server-Instanzen online. Im Rahmen seiner Initiative, die Community bei der Verbesserung der Sicherheit und der Steigerung des Sicherheitsbewusstseins zu unterstützen, hat sich Unit 24 entschlossen, OpenLiteSpeed, die Open-Source-Version des LiteSpeed Web Server, zu überprüfen.
Die Analysten haben versucht, die Handlungen eines Angreifers zu imitieren und Nachforschungen angestellt, um Schwachstellen zu finden und sie dem Anbieter mitzuteilen. Das Ergebnis dieser Nachforschungen waren drei Schwachstellen, die sowohl die Unternehmens- als auch die Open-Source-Lösungen betreffen. Diese könnten von einem Angreifer, der über die Zugangsdaten für das Admin-Dashboard verfügt, verkettet und ausgenutzt werden, um die Ausführung von privilegiertem Code auf anfälligen Komponenten zu erreichen.
Remote-Code-Ausführung
Dieser Sicherheitslücke wurde die CVE-ID CVE-2022-0073 zugewiesen. In der ersten Phase des Angriffs versuchten die Forscher, Remotecodeausführung zu erlangen. Sie stellten dabei fest, dass das Admin-Dashboard von OpenLiteSpeed Web Server für eine Schwachstelle bei der Befehlsinjektion anfällig ist. Ein Angreifer, dem es gelingt, die Zugangsdaten für das Dashboard zu erlangen, sei es durch Brute-Force-Angriffe oder Social Engineering, könnte diese Schwachstelle ausnutzen, um Code auf dem Server auszuführen.
Die Schwachstelle besteht im Feld „External App Command“, in dem Benutzer einen Befehl angeben können, der beim Starten des Servers ausgeführt wird. Diese Funktion wird als gefährlich angesehen, daher wurden Maßnahmen zur Eindämmung des Missbrauchs implementiert.
Unit 42 ist es gelungen, die Abschwächungsmaßnahmen zu umgehen und diese Funktion zu missbrauchen, um eine bösartige Datei auf den Server herunterzuladen und auszuführen, und zwar mit den Rechten des Benutzers „nobody“, einem unprivilegierten Benutzer, der traditionell auf Linux-Rechnern existiert.
Eskalation von Privilegien
Dieser Sicherheitslücke wurde die CVE-ID CVE-2022-0074 zugewiesen. Nachdem die Forscher die Codeausführung auf dem Server erlangt hatten, wollten sie einen Schritt weitergehen und ihre Privilegien von nobody zu root erweitern. Bei der Erkundung des OpenLiteSpeed-Docker-Images als nobody fanden sie eine Fehlkonfiguration in der Umgebungsvariablen PATH, die zu einer Privilegienerweiterung unter Verwendung des nicht vertrauenswürdigen CWE-Suchpfades ausgenutzt werden konnte.
Wenn ein Binärprogramm mit einem relativen Pfad ausgeführt wird, schaut das Betriebssystem in die PATH-Variable, die eine Liste von Verzeichnissen enthält. Es sucht dann in den aufgelisteten Verzeichnissen nach dieser Binärdatei, und zwar in der gleichen Reihenfolge, in der die Verzeichnisse aufgeführt sind.
Dies führt zu einer Situation, in der ein Angreifer als unprivilegierter Benutzer (z. B. nobody) Code ausführen könnte, um eine bösartige Datei zu platzieren und sie als legitime Binärdatei in /usr/local/bin zu tarnen, mit der Absicht, dass sie von hochprivilegierten Prozessen ausgeführt wird, da sie sich im zweiten Verzeichnis der Umgebungsvariablen PATH befindet.
Directory Transversal
Dieser Sicherheitslücke wurde die CVE-ID CVE-2022-0072 zugewiesen. Das letzte Problem, das die Forscher gefunden haben, ist eine Directory Transversal-Schwachstelle beim Umgehen, die es einem Angreifer ermöglichen könnte, Sicherheitsmaßnahmen zu umgehen und auf verbotene Dateien zuzugreifen. Ein Angreifer, der den Server kompromittiert hat, könnte eine geheime Hintertür erstellen und die Sicherheitslücke ausnutzen, um darauf zuzugreifen.
Beim Browsen in LiteSpeed stellt der Server sicher, dass Clients nur auf Endpunkte zugreifen, die für sie sichtbar sein sollten. Dazu wird überprüft, dass die angeforderte URL keine Zeichen enthält, die zu einem Directory Traversal führen und somit den Zugriff auf verbotene Endpunkte ermöglichen. Diese Überprüfung wird durch zwei reguläre Ausdrücke in den Zeilen 2060 und 2061 vorgenommen. Den Forschern gelang es, diese Überprüfungen mit regulären Ausdrücken zu umgehen, und auf Pfade zuzugreifen, auf die sie ursprünglich nicht zugreifen konnten.
Durch Ausnutzung dieser Schwachstelle können Angreifer auf jede beliebige Datei im Web-Root-Verzeichnis zugreifen, allerdings ist der Zugriff auf dieses Verzeichnis beschränkt.
Abhilfemaßnahmen
Unit 42 hat die Schwachstellen an LiteSpeed Technologies gemeldet und Abhilfemaßnahmen vorgeschlagen. LiteSpeed Technologies hat eine Patch-Version v1.7.16.1 für OpenLiteSpeed und 6.0.12 für LiteSpeed veröffentlicht, die die gemeldeten Schwachstellen behebt.
Die Regex zur Eindämmung der Befehlsinjektion wurde geändert, um Binärdateien wie curl, fetch und wget einzuschließen und das Herunterladen externer Skripte zu verhindern, um CVE-2022-0073 zu entschärfen. Die Rewrite Condition Regexes wurden geändert, um CVE-2022-0072 zu entschärfen.
Das ols-dockerfiles-Repository wurde ebenfalls gepatcht, um die PATH-Variable so zu setzen, dass der kontrollierte Pfad des Benutzers nobody an letzter Stelle steht, um das Hijacking der Binärausführung zu verhindern und CVE-2022-0074 zu entschärfen.
Fazit
Webtechnologien, einschließlich Webserver, haben in den letzten Jahrzehnten einen langen Weg zurückgelegt. Sie sind viel sicherer geworden, aber es werden immer noch Schwachstellen gefunden, da sich die Technologien immer noch rasant weiterentwickeln. Im Rahmen seines Engagements von für die Verbesserung der Cloud-Sicherheit investiert Palo Alto Networks aktiv in die Erforschung von öffentlichen Clouds und Webanwendungen, einschließlich fortschrittlicher Bedrohungsmodelle und Schwachstellenprüfungen von Cloud-Plattformen, Webservern und verwandten Technologien.
www.paloaltonetworks.com