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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

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

2042 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-8614 WP JobSearch <= 2.6.7 - Authenticated (Subscriber+) Arbitrary File Upload — JobSearch WP Job Board 9.9 Critical2024-11-06
CVE-2024-9307 mFolio Lite <= 1.2.1 - Missing Authorization to Authenticated (Author+) File Upload via EXE and SVG Files — mFolio Lite 9.9 Critical2024-11-06
CVE-2024-10766 Codezips Free Exam Hall Seating Management System save_user.php unrestricted upload — Free Exam Hall Seating Management System 6.3 Medium2024-11-04
CVE-2024-10765 Codezips Online Institute Management System profile.php unrestricted upload — Online Institute Management System 6.3 Medium2024-11-04
CVE-2024-10764 Codezips Online Institute Management System save_user.php unrestricted upload — Online Institute Management System 6.3 Medium2024-11-04
CVE-2024-50523 WordPress All Post Contact Form plugin <= 1.8.2 - Arbitrary File Upload vulnerability — All Post Contact Form 10.0 Critical2024-11-04
CVE-2024-50525 WordPress Helloprint plugin <= 2.0.4 - Arbitrary File Upload vulnerability — Helloprint 10.0 Critical2024-11-04
CVE-2024-50526 WordPress Multi Purpose Mail Form plugin <= 1.0.2 - Arbitrary File Upload vulnerability — Multi Purpose Mail Form 10.0 Critical2024-11-04
CVE-2024-50527 WordPress Stacks Mobile App Builder plugin <= 5.2.3 - Arbitrary File Upload vulnerability — Stacks Mobile App Builder 10.0 Critical2024-11-04
CVE-2024-50529 WordPress Training – Courses plugin <= 2.0.1 - Arbitrary File Upload vulnerability — Training – Courses 9.9 Critical2024-11-04
CVE-2024-50530 WordPress Stars SMTP Mailer plugin <= 2.2.1 - Arbitrary File Upload vulnerability — Stars SMTP Mailer 9.9 Critical2024-11-04
CVE-2024-50531 WordPress RSVPMaker for Toastmasters plugin <= 6.2.4 - Arbitrary File Upload vulnerability — RSVPMaker for Toastmasters 10.0 Critical2024-11-04
CVE-2024-10392 AI Power: Complete AI Pack <= 1.8.89 - Unauthenticated Arbitrary File Upload — AI Puffer – Your AI engine for WordPress (formerly AI Power) 9.8 Critical2024-10-31
CVE-2024-50510 WordPress AR For Woocommerce plugin <= 6.3 - Arbitrary File Upload vulnerability — AR For Woocommerce 10.0 Critical2024-10-30
CVE-2024-50511 WordPress WP donimedia carousel plugin <= 1.0.1 - Arbitrary File Upload vulnerability — WP donimedia carousel 9.9 Critical2024-10-30
CVE-2024-7985 FileOrganizer <= 1.0.9 - Authenticated (Subscriber+) Arbitrary File Upload — FileOrganizer – WordPress File Manager 7.5 High2024-10-29
CVE-2024-50420 WordPress aDirectory plugin <= 1.3 - Arbitrary File Upload vulnerability — aDirectory 10.0 Critical2024-10-29
CVE-2024-50427 WordPress SurveyJS plugin <= 1.9.136 - Arbitrary File Upload vulnerability — SurveyJS 9.9 Critical2024-10-29
CVE-2024-50473 WordPress Ajar in5 Embed plugin <= 3.1.3 - Arbitrary File Upload vulnerability — Ajar in5 Embed 10.0 Critical2024-10-29
CVE-2024-50480 WordPress Marketing Automation by AZEXO plugin <= 1.27.80 - Arbitrary File Upload vulnerability — Marketing Automation by AZEXO 9.9 Critical2024-10-29
CVE-2024-50482 WordPress Woocommerce Product Design plugin <= 1.0.0 - Arbitrary File Upload vulnerability — Woocommerce Product Design 10.0 Critical2024-10-29
CVE-2024-50484 WordPress Multi Purpose Mail Form plugin <= 1.0.2 - Arbitrary File Upload vulnerability — Multi Purpose Mail Form 10.0 Critical2024-10-29
CVE-2024-50493 WordPress Automatic Translation plugin <= 1.0.4 - Arbitrary File Upload vulnerability — Automatic Translation 10.0 Critical2024-10-29
CVE-2024-50494 WordPress Sudan Payment Gateway for WooCommerce plugin <= 1.2.2 - Arbitrary File Upload vulnerability — Sudan Payment Gateway for WooCommerce 10.0 Critical2024-10-29
CVE-2024-50495 WordPress Plugin Propagator plugin <= 0.1 - Arbitrary File Upload vulnerability — Plugin Propagator 10.0 Critical2024-10-28
CVE-2024-50496 WordPress AR For WordPress plugin <= 6.6 - Arbitrary File Upload vulnerability — AR For WordPress 10.0 Critical2024-10-28
CVE-2024-10420 SourceCodester Attendance and Payroll System update.php upload unrestricted upload — Attendance and Payroll System 6.3 Medium2024-10-27
CVE-2024-10413 SourceCodester Online Hotel Reservation System update.php upload unrestricted upload — Online Hotel Reservation System 6.3 Medium2024-10-27
CVE-2024-10410 SourceCodester Online Hotel Reservation System controller.php upload unrestricted upload — Online Hotel Reservation System 6.3 Medium2024-10-27
CVE-2024-50623 Cleo多款产品 安全漏洞 — n/a 8.2 -2024-10-27

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