Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-434 (危险类型文件的不加限制上传) — Vulnerability Class 2040

2040 vulnerabilities classified as CWE-434 (危险类型文件的不加限制上传). AI Chinese analysis included.

CWE-434 represents a critical input validation weakness where applications permit the upload of file types that are inherently dangerous or automatically processed by the system. Attackers typically exploit this vulnerability by uploading malicious scripts, such as web shells or executable binaries, disguised as legitimate documents or images. Once uploaded, these files are executed by the server, granting the attacker remote code execution capabilities and potentially full system compromise. To mitigate this risk, developers must implement strict allowlists that define only the specific, safe file extensions permitted for upload. Additionally, files should be stored outside the web root directory to prevent direct execution, and content verification techniques, such as checking file headers rather than relying solely on extensions, should be employed to ensure integrity and prevent evasion of basic validation checks.

MITRE CWE Description
The product allows the upload or transfer of dangerous file types that are automatically processed within its environment.
Common Consequences (1)
Integrity, Confidentiality, AvailabilityExecute Unauthorized Code or Commands
Arbitrary code execution is possible if an uploaded file is interpreted and executed as code by the recipient. This is especially true for web-server extensions such as .asp and .php because these file types are often treated as automatically executable, even when file system permissions do not spec…
Mitigations (5)
Architecture and DesignGenerate 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]
Architecture and DesignWhen 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.
Architecture and DesignConsider storing the uploaded files outside of the web document root entirely. Then, use other mechanisms to deliver the files dynamically. [REF-423]
ImplementationAssume 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…
Architecture and DesignDefine 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.
Examples (2)
The following code intends to allow a user to upload a picture to the web server. The HTML code that drives the form on the user end has an input field of type "file".
<form action="upload_picture.php" method="post" enctype="multipart/form-data"> Choose a file to upload: <input type="file" name="filename"/> <br/> <input type="submit" name="submit" value="Submit"/> </form>
Good · HTML
// Define the target location where the picture being // uploaded is going to be saved. $target = "pictures/" . basename($_FILES['uploadedfile']['name']); // Move the uploaded file to the new location. if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target)) { echo "The picture has been successfully uploaded."; } else { echo "There was an error uploading the picture, please try again."; }
Bad · PHP
The following code demonstrates the unrestricted upload of a file with a Java servlet and a path traversal vulnerability. The action attribute of an HTML form is sending the upload file request to the Java servlet.
<form action="FileUploadServlet" method="post" enctype="multipart/form-data"> Choose a file to upload: <input type="file" name="filename"/> <br/> <input type="submit" name="submit" value="Submit"/> </form>
Good · HTML
public class FileUploadServlet extends HttpServlet { ... protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String contentType = request.getContentType(); // the starting position of the boundary header int ind = contentType.indexOf("boundary="); String boundary = contentType.substring(ind+9); String pLine = new String(); String uploadLocation = new String(UPLOAD_DIRECTORY_STRING); //Constant value // verify that content type is multipart form data i
Bad · Java
CVE IDTitleCVSSSeverityPublished
CVE-2024-2667 InstaWP Connect – 1-click WP Staging & Migration <= 0.1.0.22 - Unauthenticated Arbitrary File Upload — InstaWP Connect – 1-click WP Staging & Migration 9.8 Critical2024-05-02
CVE-2024-4033 All-in-One Video Gallery <= 3.6.4 - Authenticated (Contributor+) Arbitrary File Upload via featured image — All-in-One Video Gallery 8.8 High2024-05-02
CVE-2024-1567 Royal Elementor Addons and Templates <= 1.3.94 - Unauthenticated Limited File Upload — Royal Addons for Elementor – Addons and Templates Kit for Elementor 8.2 High2024-05-02
CVE-2024-4349 SourceCodester Pisay Online E-Learning System controller.php unrestricted upload — Pisay Online E-Learning System 7.3 High2024-04-30
CVE-2024-4306 Unrestricted Upload of File with Dangerous Type vulnerability in HubBank — HubBank 9.9 Critical2024-04-29
CVE-2024-32880 pyLoad allows upload to arbitrary folder lead to RCE — pyload 9.1 Critical2024-04-26
CVE-2024-3962 Product Addons & Fields for WooCommerce <= 32.0.18 - Unauthenticated Arbitrary File Upload via ppom_upload_file — PPOM – Product Addons & Custom Fields for WooCommerce 9.8 Critical2024-04-26
CVE-2024-0916 Unauthenticated Remote Code Execution in UvDesk Community — UvDesk Community 10.0 Critical2024-04-25
CVE-2023-31090 WordPress Unlimited Elements For Elementor plugin <= 1.5.60 - Unrestricted Zip Extraction vulnerability — Unlimited Elements For Elementor (Free Widgets, Addons, Templates) 9.9 Critical2024-04-24
CVE-2024-32954 WordPress Newsletters plugin <= 4.9.5 - Arbitrary File Upload vulnerability — Newsletters 9.1 Critical2024-04-24
CVE-2024-32836 WordPress WP-Lister Lite for eBay plugin <= 3.5.11 - Arbitrary File Upload vulnerability — WP-Lister Lite for eBay 9.1 Critical2024-04-24
CVE-2024-3948 SourceCodester Home Clean Service System Photo student.add.php unrestricted upload — Home Clean Service System 6.3 Medium2024-04-18
CVE-2024-32514 WordPress WP Poll Maker plugin <= 3.4 - Authenticated Arbitrary File Upload vulnerability — WP Poll Maker 9.9 Critical2024-04-17
CVE-2024-3804 Vesystem Cloud Desktop fileupload2.php unrestricted upload — Cloud Desktop 6.3 Medium2024-04-15
CVE-2024-3803 Vesystem Cloud Desktop fileupload.php unrestricted upload — Cloud Desktop 6.3 Medium2024-04-15
CVE-2024-3778 Ai3 QbiBot - Unrestricted File Upload — QbiBot 7.2 High2024-04-15
CVE-2024-3736 cym1102 nginxWebUI upload unrestricted upload — nginxWebUI 4.3 Medium2024-04-13
CVE-2024-3705 Unrestricted Upload of File with Dangerous Type vulnerability in OpenGnsys — OpenGnsys 8.8 High2024-04-12
CVE-2023-51409 WordPress AI Engine plugin <= 1.9.98 - Unauthenticated Arbitrary File Upload vulnerability — AI Engine: ChatGPT Chatbot 10.0 Critical2024-04-12
CVE-2024-3344 Otter Blocks – Gutenberg Blocks, Page Builder for Gutenberg Editor & FSE <= 2.6.8 - Authenticated (Author+) Limited File Upload to Stored Cross-Site Scripting — Otter Blocks – Gutenberg Blocks, Page Builder for Gutenberg Editor & FSE 6.4 Medium2024-04-11
CVE-2024-31214 Traccar's unrestricted file upload vulnerability in device image upload could lead to remote code execution — traccar 9.7 Critical2024-04-10
CVE-2024-2221 Path Traversal and Arbitrary File Upload Vulnerability in qdrant/qdrant — qdrant/qdrant 9.8AICriticalAI2024-04-10
CVE-2024-3521 Byzoro Smart S80 Management Platform userattestation.php unrestricted upload — Smart S80 Management Platform 4.7 Medium2024-04-09
CVE-2024-2334 Template Kit – Import <= 1.0.14 - Authenticated(Author+) Stored Cross-Site Scripting via template upload — Template Kit – Import 6.4 Medium2024-04-09
CVE-2024-2125 EnvíaloSimple: Email Marketing y Newsletters <= 2.3 - Cross-Site Request Forgery to Arbitrary File Upload — EnvíaloSimple: Email Marketing y Newsletters 8.8 High2024-04-09
CVE-2024-31454 PsiTransfer file integrity violation vulnerability — psitransfer 6.5 Medium2024-04-09
CVE-2024-31453 PsiTransfer vulnerable to violation of the integrity of file distribution — psitransfer 6.5 Medium2024-04-09
CVE-2024-3444 Wangshen SecGate 3600 ?g=net_pro_keyword_import_save unrestricted upload — SecGate 3600 4.7 Medium2024-04-08
CVE-2024-3437 SourceCodester Prison Management System Avatar add-admin.php unrestricted upload — Prison Management System 7.3 High2024-04-08
CVE-2024-3436 SourceCodester Prison Management System Avatar edit-photo.php unrestricted upload — Prison Management System 6.3 Medium2024-04-07

Vulnerabilities classified as CWE-434 (危险类型文件的不加限制上传) represent 2040 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.