7.5 CVE-2022-40082

Exploit Path Traversal Patch

 

In Hertz v0.3.0 wurde eine Path Traversal-Schwachstelle in der normalizePath-Funktion entdeckt.
https://nvd.nist.gov/vuln/detail/CVE-2022-40082

Kategorien

CWE-22 : Unzulässige Beschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis ('Path Traversal')
Die Software verwendet externe Eingaben, um einen Pfadnamen zu konstruieren, der eine Datei oder ein Verzeichnis identifizieren soll, das sich unterhalb eines eingeschränkten übergeordneten Verzeichnisses befindet, aber die Software neutralisiert spezielle Elemente innerhalb des Pfadnamens nicht ordnungsgemäß, die dazu führen können, dass der Pfadname zu einem Ort außerhalb des eingeschränkten Verzeichnisses aufgelöst wird. Der Begriff "Path Traversal" wird dem Begriff "Directory Traversal" vorgezogen, aber beide Begriffe sind auf Angriffe ausgerichtet. Automatisierte Techniken können Bereiche finden, in denen Schwachstellen bei der Pfadüberquerung bestehen. Es können jedoch Anpassungen erforderlich sein, um Path-Traversal-Probleme zu beseitigen oder zu entschärfen, die nur vom Software-Administrator - oder anderen privilegierten Benutzern - ausgenutzt werden können und somit potenziell ein gültiges Verhalten oder schlimmstenfalls einen Fehler statt einer Schwachstelle darstellen. Manuelle White-Box-Techniken können unter Umständen eine ausreichende Codeabdeckung und eine Verringerung von Fehlalarmen bewirken, wenn alle Dateizugriffsoperationen innerhalb eines begrenzten Zeitrahmens bewertet werden können. Bei allen Sicherheitsprüfungen, die auf der Client-Seite durchgeführt werden, ist darauf zu achten, dass diese Prüfungen auf der Server-Seite dupliziert werden, um CWE-602 zu vermeiden. Angreifer können die clientseitigen Überprüfungen umgehen, indem sie Werte ändern, nachdem die Überprüfungen durchgeführt wurden, oder indem sie den Client ändern, um die clientseitigen Überprüfungen vollständig zu entfernen. Diese geänderten Werte würden dann an den Server übermittelt. Verwenden Sie eine geprüfte Bibliothek oder ein Framework, das diese Schwachstelle nicht zulässt oder Konstrukte bereitstellt, mit denen diese Schwachstelle leichter zu vermeiden ist. Verwenden Sie eine Anwendungsfirewall, die Angriffe auf diese Schwachstelle erkennen kann. Dies kann in Fällen von Vorteil sein, in denen der Code nicht korrigiert werden kann (weil er von einem Dritten kontrolliert wird), als Notfallpräventionsmaßnahme, während umfassendere Softwaresicherungsmaßnahmen angewandt werden, oder zur Gewährleistung einer umfassenden Verteidigung. Führen Sie Ihren Code mit den niedrigsten Rechten aus, die für die Ausführung der notwendigen Aufgaben erforderlich sind [REF-76]. Wenn möglich, erstellen Sie isolierte Konten mit eingeschränkten Rechten, die nur für eine einzige Aufgabe verwendet werden. Auf diese Weise erhält der Angreifer bei einem erfolgreichen Angriff nicht sofort Zugriff auf den Rest der Software oder deren Umgebung. Beispielsweise müssen Datenbankanwendungen nur selten als Datenbankadministrator ausgeführt werden, insbesondere im täglichen Betrieb. Wenn Sie PHP verwenden, konfigurieren Sie die Anwendung so, dass sie register_globals nicht verwendet. Entwickeln Sie die Anwendung während der Implementierung so, dass sie nicht auf diese Funktion angewiesen ist, aber seien Sie vorsichtig bei der Implementierung einer register_globals-Emulation, die Schwachstellen wie CWE-95, CWE-621 und ähnlichen Problemen unterliegt. Der Python-Paketmanager schränkt den in einem Content-Disposition-Header angegebenen Dateinamen nicht korrekt ein, was das Lesen beliebiger Dateien mit Pfad-Traversal-Sequenzen wie "../" ermöglicht. Python-Paket konstruiert Dateinamen unter Verwendung eines unsicheren os.path.join-Aufrufs auf nicht vertrauenswürdiger Eingabe, was absolutes Pfad-Traversal ermöglicht, da os.path.join den Pfadnamen auf einen absoluten Pfad zurücksetzt, der als Teil der Eingabe angegeben ist. Verzeichnis-Traversal in Go-basierter Kubernetes-Operator-App ermöglicht den Zugriff auf Daten aus dem Pod-Dateisystem des Controllers über ../-Sequenzen in einer yaml-Datei Chain: Cloud-Computing-Virtualisierungsplattform erfordert keine Authentifizierung für den Upload einer Datei im tar-Format (CWE-306) und verwendet dann ..-Pfadtraversal-Sequenzen (CWE-23) in der Datei, um auf unerwartete Dateien zuzugreifen, wie es in freier Wildbahn per CISA KEV ausgenutzt wurde. Ein in Go geschriebener Kubernetes-Paketmanager ermöglicht es bösartigen Plugins, Pfadüberquerungssequenzen in ein Plugin-Archiv ("Zip-Slip") einzuschleusen, um eine Datei außerhalb des vorgesehenen Verzeichnisses zu kopieren. Kette: Das Sicherheitsprodukt weist eine unsachgemäße Eingabevalidierung (CWE-20) auf, die zu einer Verzeichnisüberquerung (CWE-22) führt, was in freier Wildbahn per CISA KEV ausgenutzt wurde. Go-basierte Archivbibliothek erlaubt das Extrahieren von Dateien an Orte außerhalb des Zielordners mit "../" Pfad-Traversal-Sequenzen in Dateinamen in einer Zip-Datei, auch bekannt als "Zip Slip" Newsletter-Modul erlaubt das Lesen beliebiger Dateien mit "../" Sequenzen. FTP-Server erlaubt das Löschen beliebiger Dateien unter Verwendung von ".." im DELE-Befehl. FTP-Server erlaubt das Erstellen beliebiger Verzeichnisse mit dem MKD-Befehl "..". FTP-Dienst für ein Bluetooth-Gerät ermöglicht das Auflisten von Verzeichnissen und das Erstellen oder Lesen von Dateien mit Hilfe von ".."-Sequenzen. Softwarepaket-Wartungsprogramm erlaubt das Überschreiben beliebiger Dateien mit Hilfe von "../"-Sequenzen. Bulletin Board erlaubt Angreifern, die Existenz von Dateien mit Hilfe des Avatars festzustellen. PHP-Programm erlaubt die Ausführung von beliebigem Code mittels ".." in Dateinamen, die an die include()-Funktion übergeben werden. Überschreiben von Dateien mit einem .. in einer Torrent-Datei. Chat-Programm ermöglicht das Überschreiben von Dateien mit einer benutzerdefinierten Smiley-Anfrage. Chain: externe Kontrolle der Werte für die gewünschte Sprache und das Thema des Benutzers ermöglicht Pfad-Traversal. Chain: Bibliotheksdatei sendet eine Umleitung, wenn sie direkt angefordert wird, wird aber weiterhin ausgeführt, was die Einbindung von Dateien aus der Ferne und die Durchquerung von Pfaden ermöglicht.

Referenzen

MISC Patch Exploit

https://github.com/cloudwego/hertz/pull/229
Patch Third Party Advisory
https://github.com/cloudwego/hertz/issues/228
Exploit Issue Tracking Third Party Advisory


 

CPE

cpe start ende
Configuration 1
   cpe:2.3:a:cloudwego:hertz:0.3.0:*:*:*:*:*:*:*
  Running on/with
  cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*

Patch

Url
https://github.com/cloudwego/hertz/pull/229

Exploits

Exploit-db.com
id beschreibung datum
Keine bekannten Exploits
Andere (github, ...)
Url
https://github.com/cloudwego/hertz/issues/228

CAPEC

id beschreibung schweregrad
79 Schrägstriche in alternativer Kodierung verwenden
Hoch
64 Kombinierte Verwendung von Schrägstrichen und URL-Kodierung zur Umgehung der Validierungslogik
Hoch
78 Escaped Slashes in alternativer Kodierung verwenden
Hoch
126 Path Traversal
Sehr hoch
76 Manipulation von Web-Eingaben bei Dateisystemaufrufen
Sehr hoch

Sherlock® flash

Machen Sie mit wenigen Klicks ein Foto von Ihrem Computernetzwerk !

Mit der Sherlock® flash Audit-Lösung können Sie ein Audit durchführen, um die Sicherheit Ihres Computerbestands zu erhöhen. Scannen Sie Ihre physischen und virtuellen Geräte auf Schwachstellen. Planung von Patches nach Priorität und verfügbarer Zeit. Detaillierte und intuitive Berichte.

Entdecke dieses Angebot

Sherlock® flash: Erste Lösung für sofortige Cybersicherheitsprüfung