• CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Das Produkt verwendet externe Eingaben zur Konstruktion eines Pfades, der eine Datei oder ein Verzeichnis unterhalb eines eingeschränkten übergeordneten Verzeichnis identifizieren soll. Allerdings neutralisiert das Produkt spezielle Elemente innerhalb des Pfades nicht ausreichend, was dazu führen kann, dass der Pfad auf einen Speicherort außerhalb des eingeschränkten Verzeichnisses aufgelöst wird. Dies stellt ein potentielles path traversal vulnerability dar.

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE ID: 22
Name: Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)

Beschreibung

Das Produkt verwendet externe Eingaben zur Konstruktion eines Pfades, der eine Datei oder ein Verzeichnis unterhalb eines eingeschränkten übergeordneten Verzeichnis identifizieren soll. Allerdings neutralisiert das Produkt spezielle Elemente innerhalb des Pfades nicht ausreichend, was dazu führen kann, dass der Pfad auf einen Speicherort außerhalb des eingeschränkten Verzeichnisses aufgelöst wird. Dies stellt ein potentielles path traversal vulnerability dar.

Risikominderungsmaßnahmen

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Sicherheitsprüfungen, die clientseitig durchgeführt werden, müssen unbedingt serverseitig dupliziert werden, um CWE-602 zu vermeiden. Angreifer können clientseitige Prüfungen umgehen, indem sie Werte nach Durchführung der Prüfungen modifizieren oder den Client so verändern, dass die clientseitigen Prüfungen vollständig entfernt werden. Anschließend würden diese modifizierten Werte an den Server übermittelt. Es ist entscheidend, eine robuste defense-in-depth Strategie zu implementieren, um eine umfassende Sicherheit zu gewährleisten.

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Nutzen Sie eine geprüfte Bibliothek oder ein Framework, das dieses Sicherheitsrisiko nicht zulässt oder Konstrukte bereitstellt, die die Vermeidung dieses Risikos erleichtern. Die Verwendung von etablierten security frameworks kann dabei helfen, häufige Fehler zu vermeiden und die Entwicklung sicherer Anwendungen zu beschleunigen.

Maßnahme (Operation)

Effektivität: Moderate
Beschreibung: Setzen Sie eine Application Firewall ein, die Angriffe gegen diese Schwachstelle erkennen kann. Dies kann vorteilhaft sein in Fällen, in denen der Code nicht behoben werden kann (weil er von einem Drittanbieter kontrolliert wird), als Notfallpräventivmaßnahme, während umfassendere Software Assurance Maßnahmen implementiert werden, oder zur Bereitstellung von Defense in Depth. Notizen: Eine Application Firewall deckt möglicherweise nicht alle möglichen Input-Vektoren ab. Darüber hinaus könnten Angriffs-Techniken existieren, um den Schutzmechanismus zu umgehen, beispielsweise durch die Verwendung von fehlerhaften Inputs, die dennoch von der Komponente verarbeitet werden können, die diese empfängt. Abhängig von der Funktionalität kann eine Application Firewall unbeabsichtigt legitime Requests ablehnen oder modifizieren. Schließlich kann ein gewisser manueller Aufwand für die Customization erforderlich sein.

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Führen Sie Ihren Code mit den minimal erforderlichen Privilegien aus, die zur Erledigung der notwendigen Aufgaben erforderlich sind [REF-76]. Wenn möglich, erstellen Sie isolierte Accounts mit eingeschränkten Privilegien, die ausschließlich für eine einzelne Aufgabe verwendet werden. Auf diese Weise erhält ein erfolgreicher Angriff den Angreifer nicht unmittelbar Zugriff auf den Rest der Software oder deren Environment. Beispielsweise benötigen Datenbank-Anwendungen selten die Berechtigungen des Datenbank-Administrators, insbesondere im Tagesgeschäft.

Maßnahme (Operation)

Effektivität: Unknown
Beschreibung: Bei der Verwendung von PHP konfigurieren Sie die Anwendung so, dass register_globals nicht verwendet wird. Entwickeln Sie die Anwendung während der Implementierung so, dass sie sich nicht auf diese Feature verlässt, und vermeiden Sie die Implementierung einer register_globals-Emulation, die anfällig für Schwachstellen wie CWE-95, CWE-621 und ähnlichen Problemen ist.