Skip to content
OpenAdvisories

Weakness (CWE)

CWE-434: Unrestricted Upload of File with Dangerous Type

Base Draft

The product allows the upload or transfer of dangerous file types that are automatically processed within its environment.

How to prevent it (8 mitigations)
  1. Architecture and Design

    Generate a new, unique filename for an uploaded file instead of using the user-supplied filename, so that no external input is used at all.[REF-422] [REF-423]

  2. Architecture and Design

    When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs.

  3. Architecture and Design

    Consider storing the uploaded files outside of the web document root entirely. Then, use other mechanisms to deliver the files dynamically. [REF-423]

  4. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

    For example, limiting filenames to alphanumeric characters can help to restrict the introduction of unintended file extensions.

  5. Architecture and Design

    Define a very limited set of allowable extensions and only generate filenames that end in these extensions. Consider the possibility of XSS (CWE-79) before allowing .html or .htm file types.

  6. Implementation

    Ensure that only one extension is used in the filename. Some web servers, including some versions of Apache, may process files based on inner extensions so that "filename.php.gif" is fed to the PHP interpreter.[REF-422] [REF-423]

  7. Implementation

    When running on a web server that supports case-insensitive filenames, perform case-insensitive evaluations of the extensions that are provided.

  8. Architecture and Design

    For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

Source: MITRE CWE-434

3,441 results · Feed

  • High 8.8
    CVE-2021-26828 Exploited Public exploit EPSS 39%

    OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows allows remote authenticated users to upload and ex…

    KEV Dec 3, 2025
  • Medium 6.8

    TechDocs object element script injection

    Backstage is an open platform for building developer portals. In versions of Backstage's Techdocs Plugin (`@backstage/plugin-techdocs`) prior to 0.9.5, a malicious internal actor can potentially upload documentation content with malicious scripts by embedding…

  • Medium 6.8

    TechDocs content sanitization bypass

    Backstage is an open platform for building developer portals, and techdocs-common contains common functionalities for Backstage's TechDocs. In versions of `@backstage/tehdocs-common` prior to 0.6.4, a malicious internal actor is able to upload documentation c…

  • Unscored —

    External Media < 1.0.34 - Authenticated Arbitrary File Upload

    The wp_ajax_upload-remote-file AJAX action of the External Media WordPress plugin before 1.0.34 was vulnerable to arbitrary file uploads via any authenticated users.

  • High 8.8

    Unrestricted upload of file with dangerous type vulnerability in file management component in Synology Photo Station be…

  • Critical 9.6

    Various

    Admidio is a free, open source user management system for websites of organizations and groups. In Admidio before version 4.0.4, there is an authenticated RCE via .phar file upload. A php web shell can be uploaded via the Documents & Files upload feature. Som…

  • Unscored —

    A vulnerability has been found in multiple revisions of Emerson Rosemount X-STREAM Gas Analyzer. The webserver of the a…

  • Medium 4.2

    File upload local preview can run embedded scripts after user interaction

    Matrix-React-SDK is a react-based SDK for inserting a Matrix chat/voip client into a web page. Before version 3.21.0, when uploading a file, the local file preview can lead to execution of scripts embedded in the uploaded file. This can only occur after sever…

  • Unscored —
    CVE-2021-24284 Scanner template EPSS 42%

    Kaswara Modern VC Addons <= 3.0.1 - Unauthenticated Arbitrary File Upload

    The Kaswara Modern VC Addons WordPress plugin through 3.0.1 allows unauthenticated arbitrary file upload via the 'uploadFontIcon' AJAX action. The supplied zipfile being unzipped in the wp-content/uploads/kaswara/fonts_icon directory with no checks for malici…

  • Medium 6.6
    CVE-2021-31207 Exploited · Ransomware Public exploit EPSS 100%

    Microsoft Exchange Server Security Feature Bypass Vulnerability

    Microsoft Exchange Server Security Feature Bypass Vulnerability

    KEV Nov 3, 2021
  • Unscored —

    College Publisher Import <= 0.1 - Arbitrary File Upload to RCE

    The College publisher Import WordPress plugin through 0.1 does not check for the uploaded CSV file to import, allowing high privilege users to upload arbitrary files, such as PHP, leading to RCE. Due to the lack of CSRF check, the issue could also be exploite…

  • Unscored —

    Event Banner <= 1.3 - Arbitrary File Upload to RCE

    The Event Banner WordPress plugin through 1.3 does not verify the uploaded image file, allowing admin accounts to upload arbitrary files, such as .exe, .php, or others executable, leading to RCE. Due to the lack of CSRF check, the issue can also be used via s…

  • Unscored —

    Business Directory Plugin < 5.11.1 - Authenticated PHP4 Upload to RCE

    The Business Directory Plugin – Easy Listing Directories for WordPress WordPress plugin before 5.11.1 did not properly check for imported files, forbidding certain extension via a blacklist approach, allowing administrator to import an archive with a .php4 in…

  • Unscored —

    Classyfrieds <= 3.8 - Authenticated Arbitrary File Upload to RCE

    The Classyfrieds WordPress plugin through 3.8 does not properly check the uploaded file when an authenticated user adds a listing, only checking the content-type in the request. This allows any authenticated user to upload arbitrary PHP files via the Add List…

  • Unscored —
    CVE-2021-24236 Scanner template

    Imagements <= 1.2.5 - Unauthenticated Arbitrary File Upload to RCE

    The Imagements WordPress plugin through 1.2.5 allows images to be uploaded in comments, however only checks for the Content-Type in the request to forbid dangerous files. This allows unauthenticated attackers to upload arbitrary files by using a valid image C…

  • High 7.5

    Path Traversal in Django

    In Django 2.2 before 2.2.21, 3.1 before 3.1.9, and 3.2 before 3.2.1, MultiPartParser, UploadedFile, and FieldFile allowed directory traversal via uploaded files with suitably crafted file names.

  • Unscored —

    Business Hours Pro <= 5.5.0 - Unauthenticated Arbitrary File Upload to RCE

    The Business Hours Pro WordPress plugin through 5.5.0 allows a remote attacker to upload arbitrary files using its manual update functionality, leading to an unauthenticated remote code execution vulnerability.

  • High 8.0

    Arbitrary File upload

    Eaton Intelligent Power Manager (IPM) prior to 1.69 is vulnerable to authenticated arbitrary file upload vulnerability. IPM’s maps_srv.js allows an attacker to upload a malicious NodeJS file using uploadBackgroud action. An attacker can upload a malicious cod…

  • Unscored —

    Easy Form Builder <= 1.0 - Authenticated Arbitrary File Upload

    The EFBP_verify_upload_file AJAX action of the Easy Form Builder WordPress plugin through 1.0, available to authenticated users, does not have any security in place to verify uploaded files, allowing low privilege users to upload arbitrary files, leading to R…

  • Unscored —

    N5 Upload Form <= 1.0 - Unauthenticated Arbitrary File Upload to RCE

    The N5 Upload Form WordPress plugin through 1.0 suffers from an arbitrary file upload issue in page where a Form from the plugin is embed, as any file can be uploaded. The uploaded filename might be hard to guess as it's generated with md5(uniqid(rand())), ho…

  • Unscored —

    WP-Curricul Vitea Free <= 6.3 - Unauthenticated Arbitrary File Upload to RCE

    The WP-Curriculo Vitae Free WordPress plugin through 6.3 suffers from an arbitrary file upload issue in page where the [formCadastro] is embed. The form allows unauthenticated user to register and submit files for their profile picture as well as resume, with…

  • Unscored —
    CVE-2021-24220 Scanner template

    All Thrive Themes Legacy Themes < 2.0.0 - Unauthenticated Arbitrary File Upload and Option Deletion

    Thrive “Legacy” Rise by Thrive Themes WordPress theme before 2.0.0, Luxe by Thrive Themes WordPress theme before 2.0.0, Minus by Thrive Themes WordPress theme before 2.0.0, Ignition by Thrive Themes WordPress theme before 2.0.0, FocusBlog by Thrive Themes Wor…

  • High 7.2
    CVE-2021-20022 Exploited · Ransomware EPSS 17%

    SonicWall Email Security version 10.0.9.x contains a vulnerability that allows a post-authenticated attacker to upload …

    KEV Nov 3, 2021
  • Critical 9.8

    Vangene deltaFlow E-platform - Arbitrary File Upload

    The file upload function of Vangene deltaFlow E-platform does not perform access controlled properly. Remote attackers can upload and execute arbitrary files without login.

  • Unscored —
    CVE-2021-24212 Scanner template

    WooCommerce Help Scout < 2.9.1 - Unauthenticated Arbitrary File Upload leading to RCE

    The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allows unauthenticated users to upload any files to the site which by default will end up in wp-content/uploads/hstmp.

  • Unscored —

    WooCommerce Upload Files < 59.4 - Unauthenticated Arbitrary File Upload

    The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a "blocked" extension within another "blocke…

  • Unscored —
    CVE-2021-24160 Public exploit

    Responsive Menu 4.0.0 - 4.0.3 - Authenticated Arbitrary File Upload

    In the Reponsive Menu (free and Pro) WordPress plugins before 4.0.4, subscribers could upload zip archives containing malicious PHP files that would get extracted to the /rmp-menu/ directory. These files could then be accessed via the front end of the site to…

  • Unscored —
    CVE-2021-24155 Public exploit Scanner template EPSS 84%

    Backup Guard < 1.6.0 - Authenticated Arbitrary File Upload

    The WordPress Backup and Migrate Plugin – Backup Guard WordPress plugin before 1.6.0 did not ensure that the imported files are of the SGBP format and extension, allowing high privilege users (admin+) to upload arbitrary files, including PHP ones, leading to …

  • Critical 9.8

    This vulnerability allows remote attackers to execute arbitrary code on affected installations of NETGEAR ProSAFE Netwo…

  • High 8.6

    Unrestricted File Upload in Form Framework

    TYPO3 is an open source PHP based web content management system. In TYPO3 before versions 8.7.40, 9.5.25, 10.4.14, 11.1.1, due to the lack of ensuring file extensions belong to configured allowed mime-types, attackers can upload arbitrary data with arbitrary …

  • High 8.3

    Broken Access Control in Form Framework

    TYPO3 is an open source PHP based web content management system. In TYPO3 before versions 8.7.40, 9.5.25, 10.4.14, 11.1.1 due to improper input validation, attackers can by-pass restrictions of predefined options and submit arbitrary data in the Form Designer…

  • Medium 5.3
    CVE-2021-21350 EPSS 15%

    XStream is vulnerable to an Arbitrary Code Execution attack

    XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.16, there is a vulnerability which may allow a remote attacker to execute arbitrary code only by manipulating the processed input stream. No user is affected, …

  • Medium 5.4
    CVE-2021-21351 Scanner template EPSS 82%

    XStream is vulnerable to an Arbitrary Code Execution attack

    XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.16, there is a vulnerability may allow a remote attacker to load and execute arbitrary code from a remote host only by manipulating the processed input stream.…

  • Medium 5.3
    CVE-2021-21344 EPSS 76%

    XStream is vulnerable to an Arbitrary Code Execution attack

    XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.16, there is a vulnerability which may allow a remote attacker to load and execute arbitrary code from a remote host only by manipulating the processed input s…

  • Medium 6.1
    CVE-2021-21346 EPSS 76%

    XStream is vulnerable to an Arbitrary Code Execution attack

    XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.16, there is a vulnerability which may allow a remote attacker to load and execute arbitrary code from a remote host only by manipulating the processed input s…

  • Medium 6.1
    CVE-2021-21347 EPSS 14%

    XStream is vulnerable to an Arbitrary Code Execution attack

    XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.16, there is a vulnerability which may allow a remote attacker to load and execute arbitrary code from a remote host only by manipulating the processed input s…

  • Unscored —
    CVE-2021-24145 Public exploit Scanner template EPSS 88%

    Modern Events Calendar Lite < 5.16.5 - Authenticated Arbitrary File Upload leading to RCE

    Arbitrary file upload in the Modern Events Calendar Lite WordPress plugin, versions before 5.16.5, did not properly check the imported file, allowing PHP ones to be uploaded by administrator by using the 'text/csv' content-type in the request.

  • Unscored —

    PowerPress < 8.3.8 - Authenticated Arbitrary File Upload leading to RCE

    Arbitrary file upload in the PowerPress WordPress plugin, versions before 8.3.8, did not verify some of the uploaded feed images (such as the ones from Podcast Artwork section), allowing high privilege accounts (admin+) being able to upload arbitrary files, s…

  • Critical 9.8

    ShopXO RCE Vulnerability

    A remote command execution vulnerability in shopxo 1.9.3 allows an attacker to upload malicious code generated by phar where the suffix is JPG, which is uploaded after modifying the phar suffix.

  • High 7.4

    The ipTIME NAS product allows an arbitrary file upload vulnerability in the Manage Bulletins/Upload feature, which can …