CAPEC Definitions

    CAPEC Definitions / CAPEC-73

    CAPEC-73: User-Controlled Filename

    An attack of this type involves an adversary inserting malicious characters (such as a XSS redirection) into a filename, directly or indirectly that is then used by the target software to generate HTML text or other potentially executable content. Many websites rely on user-generated content and dynamically build resources like files, filenames, and URL links directly from user supplied data. In this attack pattern, the attacker uploads code that can execute in the client browser and/or redirect the client browser to a site that the attacker owns. All XSS attack payload variants can be used to pass and exploit these vulnerabilities.

    Severity:High
    Possibility:High

    Extended Description

    No Extended Description.

    Mitigations

    Design: Use browser technologies that do not allow client side scripting.

    Implementation: Ensure all content that is delivered to client is sanitized against an acceptable content specification.

    Implementation: Perform input validation for all remote content.

    Implementation: Perform output validation for all remote content.

    Implementation: Disable scripting languages such as JavaScript in browser

    Implementation: Scan dynamically generated content against validation specification

    Relationships with other CAPECs

    CAPEC-165: File Manipulation

    CAPEC-592: Stored XSS

    Prerequisites

    The victim must trust the name and locale of user controlled filenames.

    Related Weaknesses

    CWE-20: Improper Input Validation

    CWE-184: Incomplete List of Disallowed Inputs

    CWE-96: Improper Neutralization of Directives in Statically Saved Code ('Static Code Injection')

    CWE-348: Use of Less Trusted Source

    CWE-116: Improper Encoding or Escaping of Output

    CWE-350: Reliance on Reverse DNS Resolution for a Security-Critical Action

    CWE-86: Improper Neutralization of Invalid Characters in Identifiers in Web Pages

    CWE-697: Incorrect Comparison