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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

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

2034 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-2022-4506 Unrestricted Upload of File with Dangerous Type in openemr/openemr — openemr/openemr 7.2 -2022-12-15
CVE-2022-41267 SAP Business Objects 代码问题漏洞 — BusinessObjects Business Intelligence Platform 9.9 Critical2022-12-13
CVE-2022-45359 WordPress YITH WooCommerce Gift Cards Premium Plugin <= 3.19.0 is vulnerable to Arbitrary File Upload — YITH WooCommerce Gift Cards 9.8 Critical2022-12-06
CVE-2022-38140 WordPress SEO Plugin by Squirrly SEO Plugin <= 12.1.10 is vulnerable to Arbitrary File Upload — SEO Plugin by Squirrly SEO (WordPress plugin) 7.6 High2022-11-28
CVE-2022-2791 Emerson Proficy Machine Edition 代码问题漏洞 — Proficy Machine Edition 5.9 Medium2022-11-22
CVE-2022-42698 WordPress Api2Cart Bridge Connector plugin <= 1.1.0 - Arbitrary File Upload vulnerability — Api2Cart Bridge Connector (WordPress plugin) 9.8 Critical2022-11-18
CVE-2022-40981 ETIC Telecom Remote Access Server Unrestricted Upload of File with Dangerous Type — Remote Access Server (RAS) 5.9 Medium2022-11-10
CVE-2022-39036 FLOWRING Agentflow BPM - Arbitrary File Upload — Agentflow BPM 9.8 Critical2022-11-10
CVE-2022-3537 Role Based Pricing for WooCommerce < 1.6.2 - Subscriber+ Arbitrary File Upload — Role Based Pricing for WooCommerce 8.8 -2022-11-07
CVE-2022-3575 Frauscher Sensortechnik Diagnostic System FDS102 for FAdC R2 and FAdCi R2 configuration upload vulnerability — Diagnostic System FDS102 9.8 Critical2022-11-02
CVE-2022-41681 File Upload vulnerability in Forma LMS — Forma LMS 9.9 Critical2022-10-31
CVE-2022-42925 Unrestricted Upload of File with Dangerous Type in Forma LMS — Forma LMS 9.9 Critical2022-10-31
CVE-2021-38397 Honeywell Experion PKS and ACE Controllers Unrestricted Upload of File with Dangerous Type — Experion PKS 10.0 Critical2022-10-28
CVE-2022-33859 Unrestricted file upload in Eaton Foreseer EPMS — Foreseer EPMS 8.1 High2022-10-28
CVE-2022-39305 Gin-vue-admin vulnerable to Unrestricted Upload of File with Dangerous Type — gin-vue-admin 9.8 Critical2022-10-24
CVE-2020-8974 ZGR TPS200 NG Missing Reference to Active Allocated Resource — ZGR TPS200 NG 10.0 Critical2022-10-17
CVE-2022-32176 Gin-vue-admin - Unrestricted File Upload — gin-vue-admin 9.0 -2022-10-17
CVE-2022-3552 Unrestricted Upload of File with Dangerous Type in boxbilling/boxbilling — boxbilling/boxbilling 9.9 -2022-10-17
CVE-2022-32177 Gin-vue-admin - Unrestricted File Upload — gin-vue-admin 9.0 -2022-10-14
CVE-2022-3125 Frontend File Manager < 21.3 - Subscriber+ Arbitrary File Upload — Frontend File Manager Plugin 8.8 -2022-10-03
CVE-2022-36066 Discourse vulnerable to RCE via admins uploading maliciously zipped file — discourse 9.1 Critical2022-09-29
CVE-2022-3076 CM Download Manager < 2.8.6 - Admin+ Arbitrary File Upload — CM Download Manager 7.2 -2022-09-26
CVE-2022-2872 Unrestricted Upload of File with Dangerous Type in octoprint/octoprint — octoprint/octoprint 9.1 -2022-09-21
CVE-2022-3129 codeprojects Online Driving School registration.php unrestricted upload — Online Driving School 6.3 Medium2022-09-07
CVE-2022-36285 WordPress Uploading SVG, WEBP and ICO files plugin <= 1.0.1 - Authenticated Arbitrary File Upload vulnerability — Uploading SVG, WEBP and ICO files (WordPress plugin) 7.2 High2022-08-23
CVE-2022-2594 Advanced Custom Fields 5.0-5.12.2 - Unauthenticated File Upload — Advanced Custom Fields 7.5 -2022-08-22
CVE-2022-2909 SourceCodester Simple and Nice Shopping Cart Script profile.php unrestricted upload — Simple and Nice Shopping Cart Script 6.3 Medium2022-08-20
CVE-2022-2180 GREYD.SUITE < 1.2.7 - Unauthenticated File Upload to RCE — greyd_suite 9.8 -2022-08-15
CVE-2022-2804 SourceCodester Zoo Management System apply_vacancy.php unrestricted upload — Zoo Management System 6.3 Medium2022-08-12
CVE-2022-2779 SourceCodester Gas Agency Management System oneWord.php unrestricted upload — Gas Agency Management System 6.3 Medium2022-08-12

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