CWE ID: 785
Name: Use of Path Manipulation Function without Maximum-sized Buffer
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.
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.
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.
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.