2.1 CVE-2012-3380

Path Traversal Patch
 

Eine Directory-Traversal-Schwachstelle in naxsi-ui/nx_extract.py im Naxsi-Modul vor 0.46-1 für Nginx erlaubt lokalen Benutzern, beliebige Dateien über nicht spezifizierte Vektoren zu lesen.
https://nvd.nist.gov/vuln/detail/CVE-2012-3380

Kategorien

CWE-22 : Unzulässige Beschränkung eines Pfadnamens auf ein eingeschränktes Verzeichnis ('Path Traversal')
Das Produkt 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 das Produkt 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 "Pfadüberquerung" wird gegenüber dem Begriff "Verzeichnisüberquerung" bevorzugt, 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 Produktadministrator - 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 der Fehlalarme 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 repariert 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 Zugang zum Rest der Software oder ihrer 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 ..-Pfad-Traversal-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, wie sie 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


 

CPE

cpe start ende
Configuration 1
cpe:2.3:a:naxsi_project:naxsi:*:*:*:*:*:*:*:* <= 0.46


REMEDIERUNG


Patch

Url
http://code.google.com/p/naxsi/source/detail?r=307


EXPLOITS


Exploit-db.com

id beschreibung datum
Keine bekannten Exploits

Andere (github, ...)

Url
Keine bekannten Exploits


CAPEC


Common Attack Pattern Enumerations and Classifications

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


MITRE