CWE-220 Variant Draft

Storage of File With Sensitive Data Under FTP Root

This vulnerability occurs when an application saves sensitive files, such as configuration or user data, within the directory served by an FTP server without proper access restrictions. This…

Definition

What is CWE-220?

This vulnerability occurs when an application saves sensitive files, such as configuration or user data, within the directory served by an FTP server without proper access restrictions. This misconfiguration can allow unauthorized users to download these files directly.
FTP servers are designed to share files, so any data placed within their root directory becomes potentially accessible to anyone who can connect. If sensitive files like `.env`, backup archives, or database dumps are stored there, attackers can easily retrieve them by simply browsing or using automated tools, leading to immediate data exposure. To prevent this, developers should never use the FTP root as a general storage location for sensitive data. Instead, confidential files must be kept outside the publicly served directory tree, with strict operating system permissions and FTP server configuration ensuring that only authorized processes can access them. Regular audits of the FTP directory contents are essential to catch accidental misplacements.
Auswirkungen in der Praxis

Real-world CVEs caused by CWE-220

Bisher sind in MITREs Katalog keine öffentlichen CVE-Referenzen mit dieser CWE verknüpft.

Wie Angreifer es ausnutzen

Angreiferpfad Schritt für Schritt

  1. 1

    Identifiziere einen Codepfad, der nicht vertrauenswürdige Eingaben ohne Validierung verarbeitet.

  2. 2

    Erzeuge eine Payload, die das unsichere Verhalten auslöst — Injection, Traversal, Overflow oder Logik-Missbrauch.

  3. 3

    Liefere die Payload über einen normalen Request aus und beobachte die Reaktion der Anwendung.

  4. 4

    Iteriere, bis die Antwort Daten preisgibt, Angreifer-Code ausführt oder Berechtigungen eskaliert.

Verwundbares Codebeispiel

Vulnerable pseudo

MITRE hat kein Codebeispiel für diese CWE veröffentlicht. Das untenstehende Muster ist illustrativ — kanonische Referenzen findest du unter Ressourcen.

Verwundbar pseudo
// Example pattern — see MITRE for the canonical references.
function handleRequest(input) {
  // Untrusted input flows directly into the sensitive sink.
  return executeUnsafe(input);
}
Sicheres Codebeispiel

Secure pseudo

Sicher pseudo
// Validate, sanitize, or use a safe API before reaching the sink.
function handleRequest(input) {
  const safe = validateAndEscape(input);
  return executeWithGuards(safe);
}
What changed: the unsafe sink is replaced (or the input is validated/escaped) so the same payload no longer triggers the weakness.
Präventions-Checkliste

How to prevent CWE-220

  • Implementation / System Configuration Avoid storing information under the FTP root directory.
  • System Configuration Access control permissions should be set to prevent reading/writing of sensitive files inside/outside of the FTP directory.
Erkennungssignale

How to detect CWE-220

SAST High

Führe statische Analyse (SAST) auf der Codebasis aus und suche im Datenfluss nach dem unsicheren Muster.

DAST Moderate

Führe dynamische Application-Security-Tests gegen den Live-Endpoint aus.

Runtime Moderate

Beobachte Runtime-Logs auf ungewöhnliche Exception-Traces, fehlerhafte Eingaben oder Versuche, Autorisierung zu umgehen.

Code review Moderate

Code Review: Markiere jeden neuen Code, der Eingaben von dieser Oberfläche ohne validierte Framework-Helper verarbeitet.

Plexicus Auto-Fix

Plexicus erkennt CWE-220 automatisch und öffnet in unter 60 Sekunden einen Fix-PR.

Codex Remedium scannt jeden Commit, identifiziert genau diese Schwachstelle und liefert einen reviewer-ready Pull Request mit dem Patch. Keine Tickets. Keine Hand-offs.

Häufig gestellte Fragen

Frequently asked questions

Was ist CWE-220?

This vulnerability occurs when an application saves sensitive files, such as configuration or user data, within the directory served by an FTP server without proper access restrictions. This misconfiguration can allow unauthorized users to download these files directly.

Wie gravierend ist CWE-220?

MITRE hat für diese Schwachstelle keine Exploit-Wahrscheinlichkeit veröffentlicht. Behandle sie als mittlere Auswirkung, bis dein Threat Model anderes belegt.

Welche Sprachen oder Plattformen sind von CWE-220 betroffen?

MITRE hat für diese CWE keine betroffenen Plattformen spezifiziert — sie kann in den meisten Anwendungs-Stacks auftreten.

Wie kann ich CWE-220 verhindern?

Avoid storing information under the FTP root directory. Access control permissions should be set to prevent reading/writing of sensitive files inside/outside of the FTP directory.

Wie erkennt und behebt Plexicus CWE-220?

Die SAST-Engine von Plexicus erkennt die Datenfluss-Signatur von CWE-220 bei jedem Commit. Bei einem Treffer öffnet unser Codex-Remedium-Agent einen Fix-PR mit korrigiertem Code, Tests und einer einzeiligen Zusammenfassung für den Reviewer.

Wo erfahre ich mehr über CWE-220?

MITRE veröffentlicht die kanonische Definition unter https://cwe.mitre.org/data/definitions/220.html. Für ergänzende Hinweise kannst du auch die OWASP- und NIST-Dokumentation heranziehen.

Verwandte Schwachstellen

Weaknesses related to CWE-220

CWE-552 Parent

Files or Directories Accessible to External Parties

This vulnerability occurs when an application exposes files or directories to users who shouldn't have access to them.

CWE-219 Sibling

Storage of File with Sensitive Data Under Web Root

This vulnerability occurs when an application saves sensitive files, such as configuration data or private keys, inside the web server's…

CWE-527 Sibling

Exposure of Version-Control Repository to an Unauthorized Control Sphere

This vulnerability occurs when a version control repository, like Git or SVN, is accidentally placed in a location accessible to…

CWE-528 Sibling

Exposure of Core Dump File to an Unauthorized Control Sphere

This vulnerability occurs when an application creates a core dump file (a snapshot of memory at the time of a crash) and places it in a…

CWE-529 Sibling

Exposure of Access Control List Files to an Unauthorized Control Sphere

This vulnerability occurs when an application stores sensitive access control list (ACL) files in a location that is accessible to…

CWE-530 Sibling

Exposure of Backup File to an Unauthorized Control Sphere

This vulnerability occurs when backup or temporary files are stored in locations that unauthorized users can access, such as web…

CWE-539 Sibling

Use of Persistent Cookies Containing Sensitive Information

This vulnerability occurs when a web application stores sensitive data, like authentication details or personal information, within…

CWE-553 Sibling

Command Shell in Externally Accessible Directory

This vulnerability occurs when a command shell script is placed in a web-accessible directory, such as /cgi-bin/. Attackers can directly…

Bereit, wenn du es bist

Schluss mit dem Bezahlen pro Entwickler.
Schließ den Kreislauf.

Plexicus ist die KI-native ASPM, die scannt, filtert, fixt, pentestet und erklärt — autonom. Unbegrenzte Entwickler, unbegrenzte Repos, Fair-Use-KI-Aktionen. Echter kostenloser Tarif, €269/mo jährlich, wenn du bereit bist.