CWE-Referenz › CWE-785: Use of Path Manipulation Function without Maximum-sized Buffer
CWE-785: Use of Path Manipulation Function without Maximum-sized Buffer
CWE ID: 785
Name: Use of Path Manipulation Function without Maximum-sized Buffer
Beschreibung
Das Produkt ruft eine Funktion zur Normalisierung von Pfaden oder Dateinamen auf, stellt jedoch einen Ausgabepuffer bereit, der kleiner ist als die maximal mögliche Größe, beispielsweise PATH_MAX.
Erweiterte Beschreibung
Die Übergabe eines zu klein dimensionierten Ausgabepuffers an eine Pfadmanipulationsfunktion kann zu einem Buffer Overflow führen. Zu diesen Funktionen gehören unter anderem realpath(), readlink(), PathAppend() und weitere.
Risikominderungsmaßnahmen
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Es ist unerlässlich, Ausgabepuffer anzugeben, deren Größe ausreichend ist, um das maximal mögliche Ergebnis von Pfadmanipulationsfunktionen zu verarbeiten.
Detaillierter Hintergrund
Windows stellt eine umfangreiche Anzahl an Utility-Funktionen bereit, die Puffer mit Dateinamen manipulieren. In den meisten Fällen wird das Ergebnis in einem Puffer zurückgegeben, der als Input übergeben wurde (üblicherweise wird der Dateiname in place modifiziert). Die meisten Funktionen erfordern, dass der Puffer mindestens MAX_PATH Bytes lang ist, jedoch sollte die Dokumentation für jede Funktion einzeln geprüft werden. Sollte der Puffer nicht ausreichend Platz bieten, um das Ergebnis der Manipulation zu speichern, kann ein buffer overflow auftreten.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-785: Use of Path Manipulation Function without Maximum-sized Buffer werden von Angreifern gezielt gesucht — meist automatisiert und ohne Rücksicht darauf, wie groß das betroffene Unternehmen ist. Ob eine solche Lücke bei Ihnen tatsächlich offen steht, lässt sich nur durch Prüfung feststellen:
- Schwachstellen-Scan — wiederkehrende Prüfung Ihrer Infrastruktur auf bekannte Lücken wie diese
- Penetrationstest — manuelle Prüfung eigener Software auf Schwachstellen, die kein Werkzeug findet
- Threat Modeling — Schwachstellenklassen im Entwurf vermeiden, statt sie später zu suchen