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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

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

2041 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-8066 File Manager Pro – Filester <= 1.8.6- Authenticated (Subscriber+) Arbitrary File Upload — File Manager Pro – Filester 7.5 High2024-11-28
CVE-2024-9504 Booking calendar, Appointment Booking System <= 3.2.15 - Unauthenticated Stored Cross-Site Scripting via SVG File Upload — Booking calendar, Appointment Booking System 7.2 High2024-11-26
CVE-2024-11674 CodeAstro Hospital Management System his_doc_update-account.php unrestricted upload — Hospital Management System 6.3 Medium2024-11-25
CVE-2024-11661 Codezips Free Exam Hall Seating Management System Profile Image profile.php unrestricted upload — Free Exam Hall Seating Management System 4.3 Medium2024-11-25
CVE-2024-9659 School Management <= 91.5.0 - Unauthenticated Arbitrary File Upload — School Management System for Wordpress 9.8 Critical2024-11-23
CVE-2024-9942 WPGYM <= 67.1.0 - Unauthenticated Arbitrary File Upload — WPGYM - Wordpress Gym Management System 9.8 Critical2024-11-23
CVE-2024-9660 School Management <= 91.5.0 - Authenticated (Student+) Arbitrary File Upload — School Management System for Wordpress 8.8 High2024-11-23
CVE-2024-8525 Automated Logic WebCTRL and Carrier i-Vu Unrestricted File Upload — WebCTRL 9.8AICriticalAI2024-11-21
CVE-2024-11404 File Upload Bypass in django Filer — django Filer 5.5 Medium2024-11-20
CVE-2024-51743 Arbitrary File Write leading up to remote code execution (instructor accounts) — Markus 8.8AIHighAI2024-11-18
CVE-2024-51499 MarkUs Arbitrary File Write leading up to remote code execution (student accounts) — Markus 8.8AIHighAI2024-11-18
CVE-2024-52429 WordPress WP Quick Setup plugin <= 2.0 - Arbitrary Plugin and Theme Installation to Remote Code Execution vulnerability — WP Quick Setup 9.9 Critical2024-11-18
CVE-2024-52397 WordPress Convert Docx2post plugin <= 1.4 - Arbitrary File Upload vulnerability — Convert Docx2post 9.1 Critical2024-11-16
CVE-2024-52398 WordPress CDI plugin <= 5.5.3 - Arbitrary File Upload vulnerability — CDI 9.1 Critical2024-11-16
CVE-2024-52399 WordPress Writer Helper plugin <= 3.1.6 - Arbitrary File Upload vulnerability — Writer Helper 9.9 Critical2024-11-16
CVE-2024-52400 WordPress Gallerio plugin <= 1.01 - Arbitrary File Upload vulnerability — Gallerio 9.9 Critical2024-11-16
CVE-2024-52403 WordPress User Management plugin <= 1.1 - Arbitrary File Upload vulnerability — User Management 9.9 Critical2024-11-16
CVE-2024-52404 WordPress CF7 Reply Manager plugin <= 1.2.3 - Arbitrary File Upload vulnerability — CF7 Reply Manager 9.9 Critical2024-11-16
CVE-2024-52405 WordPress B-Banner Slider plugin <= 1.1 - Arbitrary File Upload vulnerability — B-Banner Slider 9.9 Critical2024-11-16
CVE-2024-52406 WordPress CSV to html plugin <= 3.26 - Arbitrary File Upload vulnerability — CSV to html 9.9 Critical2024-11-16
CVE-2024-52407 WordPress BasePress Migration Tools plugin <= 1.0.0 - Arbitrary File Upload vulnerability — BasePress Migration Tools 9.9 Critical2024-11-16
CVE-2024-52408 WordPress Push Notifications for WordPress by PushAssist plugin <= 3.0.8 - Arbitrary File Upload vulnerability — Push Notifications for WordPress by PushAssist 9.9 Critical2024-11-16
CVE-2024-8856 Backup and Staging by WP Time Capsule <= 1.22.21 - Unauthenticated Arbitrary File Upload — Backup and Staging by WP Time Capsule 9.8 Critical2024-11-16
CVE-2024-9849 Real3D Flipbook Lite – 3D FlipBook, PDF Viewer, PDF Embedder <= 4.8 - Authenticated (Author+) Arbitrary File Upload — Real 3D Flipbook – 3D FlipBook, PDF FlipBook, PDF Viewer, PDF Embedder 8.8 High2024-11-16
CVE-2024-52369 WordPress KBucket plugin <= 4.2.2 - Arbitrary File Upload vulnerability — KBucket 9.9 Critical2024-11-14
CVE-2024-52370 WordPress Hive Support – WordPress Help Desk, Live Chat & AI Chat Bot Plugin for WordPress plugin <= 1.1.1 - Arbitrary File Upload vulnerability — Hive Support 9.9 Critical2024-11-14
CVE-2024-52372 WordPress Easy CSV Importer plugin <= 7.0.0 - Arbitrary File Upload vulnerability — Easy CSV Importer BETA 10.0 Critical2024-11-14
CVE-2024-52373 WordPress Devexhub Gallery plugin <= 2.0.1 - Arbitrary File Upload vulnerability — Devexhub Gallery 10.0 Critical2024-11-14
CVE-2024-52374 WordPress Do That Task plugin <= 1.5.5 - Arbitrary File Upload vulnerability — Do That Task 10.0 Critical2024-11-14
CVE-2024-52375 WordPress Datasets Manager by Arttia Creative plugin <= 1.5 - Arbitrary File Upload vulnerability — Datasets Manager by Arttia Creative 10.0 Critical2024-11-14

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