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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-494 (下载代码缺少完整性检查) — Vulnerability Class 101

101 vulnerabilities classified as CWE-494 (下载代码缺少完整性检查). AI Chinese analysis included.

CWE-494 represents a critical integrity verification weakness where software retrieves and executes code from remote sources without adequately validating its origin or authenticity. This vulnerability is typically exploited by attackers who compromise the distribution server, manipulate DNS records to redirect requests to malicious hosts, or intercept and alter the code during transit via man-in-the-middle attacks. Consequently, the application unknowingly runs compromised payloads, leading to full system takeover or data exfiltration. To mitigate this risk, developers must implement robust cryptographic verification mechanisms, such as digital signatures or checksums, ensuring that downloaded artifacts match their expected values. Additionally, utilizing secure transport protocols like HTTPS and maintaining strict certificate validation further prevents tampering, thereby guaranteeing that only trusted, unmodified code is executed within the application environment.

MITRE CWE Description
The product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code. An attacker can execute malicious code by compromising the host server, performing DNS spoofing, or modifying the code in transit.
Common Consequences (1)
Integrity, Availability, Confidentiality, OtherExecute Unauthorized Code or Commands, Alter Execution Logic, Other
Executing untrusted code could compromise the control flow of the program. The untrusted code could execute attacker-controlled commands, read or modify sensitive resources, or prevent the software from functioning correctly for legitimate users.
Mitigations (5)
ImplementationPerform proper forward and reverse DNS lookups to detect DNS spoofing.
Architecture and Design, OperationEncrypt the code with a reliable encryption scheme before transmitting. This will only be a partial solution, since it will not detect DNS spoofing and it will not prevent your code from being modified on the hosting site.
Architecture and DesignUse a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. Speficially, it may be helpful to use tools or frameworks to perform integrity checking on the transmitted code. When providing the code that is to be downloaded, such as for automatic updates of the software, then use cryptographic signatures for …
Architecture and Design, OperationRun your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database ad…
Architecture and Design, OperationRun the code in a "jail" or similar sandbox environment that enforces strict boundaries between the process and the operating system. This may effectively restrict which files can be accessed in a particular directory or which commands can be executed by the software. OS-level examples include the Unix chroot jail, AppArmor, and SELinux. In general, managed code may provide some protection. For ex…
Effectiveness: Limited
Examples (2)
This example loads an external class from a local subdirectory.
URL[] classURLs= new URL[]{ new URL("file:subdir/") }; URLClassLoader loader = new URLClassLoader(classURLs); Class loadedClass = Class.forName("loadMe", true, loader);
Bad · Java
This code includes an external script to get database credentials, then authenticates a user against the database, allowing access to the application.
//assume the password is already encrypted, avoiding CWE-312 function authenticate($username,$password){ include("http://external.example.com/dbInfo.php"); //dbInfo.php makes $dbhost, $dbuser, $dbpass, $dbname available mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $query = 'Select * from users where username='.$username.' And password='.$password; $result = mysql_query($query); if(mysql_numrows($result) == 1){ mysql_close(); return true; } else{ mysql_close(); return false; } }
Bad · PHP
CVE IDTitleCVSSSeverityPublished
CVE-2023-45799 MLSoft TCO!stream Remote Code Execution Vulnerability — TCO!stream 7.2 High2023-10-30
CVE-2023-45821 Incorrect Docker Hub registry check in Artifact Hub — hub 5.4 Medium2023-10-19
CVE-2023-37220 Synel Terminals - CWE-494: Download of Code Without Integrity Check — Terminals 7.2 High2023-09-03
CVE-2023-37864 PHOENIX CONTACT: WP 6xxx Web panels prone to download code without integrity check — WP 6070-WVPS 7.2 High2023-08-09
CVE-2023-22635 Fortinet FortiClient 安全漏洞 — FortiClientMac 6.9 High2023-04-11
CVE-2022-4261 Rapid7 Nexpose Update Validation Issue — Nexpose 4.4 Medium2022-12-07
CVE-2022-45442 Sinatra vulnerable to Reflected File Download attack — sinatra 8.8 High2022-11-28
CVE-2022-38199 BUG-000144172 - Remote file download issue in ArcGIS Server — ArcGIS Server 6.1 Medium2022-10-25
CVE-2021-26639 WISA Smart Wing CMS File Download Vulnerability — Smart Wing CMS 8.1 High2022-08-17
CVE-2021-35532 Firmware upload verification bypass in TXpert Hub CoreTec 4 — TXpert Hub CoreTec 4 version 7.2 -2022-06-07
CVE-2020-7883 Printchaser 安全漏洞 — Printchaser 9.8 -2021-12-28
CVE-2020-7875 RAONWIZ DEXT5 Upload ActiveX remote file execution vulnerability — DEXT5 Upload 7.5 High2021-10-28
CVE-2020-7874 NEXACRO14 Runtime arbitrary file download and execution vulnerability — NEXACRO14 8.8 High2021-09-09
CVE-2020-7873 Younglimwon K-System WellComm 安全漏洞 — K-System WellComm 8.8 High2021-09-09
CVE-2021-3485 Improper Input Validation in Bitdefender Endpoint Security Tools for Linux — Endpoint Security Tools for Linux 6.4 Medium2021-05-24
CVE-2020-29032 Add integrity check of GateManager firmware — GateManager 8.4 High2021-03-05
CVE-2020-28213 Schneider Electric Unity Pro 安全漏洞 — PLC Simulator on EcoStruxureª Control Expert (now Unity Pro) (all versions) 8.8 -2020-11-19
CVE-2020-7831 管理服务接口Ebiz4u 安全漏洞 — Ebiz4u CViewer Object AxECM.dll 8.8 High2020-08-24
CVE-2020-7817 Raonwiz K Upload 安全漏洞 — MyBrowserPlus 5.5 Medium2020-08-06
CVE-2020-10926 NETGEAR R6700 安全漏洞 — R6700 8.8 -2020-07-28
CVE-2020-7826 Bflysoft EyeSurfer BflyInstallerX.ocx 安全漏洞 — EyeSurfer BflyInstallerX.ocx 8.8 High2020-07-17
CVE-2020-7505 Schneider Electric Easergy T300 安全漏洞 — Easergy T300 (Firmware version 1.5.2 and older) 7.2 -2020-06-16
CVE-2020-7812 Kaoni ezHTTPTrans Active-X File Download and Execution Vulnerability — ezHTTPTrans 7.8 High2020-05-28
CVE-2020-7813 Kaoni ezHTTPTrans Active-X File Download and Execution Vulnerability — ezHTTPTrans 7.8 High2020-05-22
CVE-2020-7806 Tobesoft Xplatform ActiveX File Download Vulnerability — Xplatform 7.8 High2020-05-06
CVE-2019-19167 Tobesoft Nexacro14 ActiveX File Download Vulnerability — Nexacro14 7.8 High2020-05-06
CVE-2019-19166 Tobesoft XPlatform Arbitrary File Execution Vulnerability — XPlatform 7.8 High2020-05-06
CVE-2019-19165 Inogard Ebiz4u 安全漏洞 — Ebiz4u ActiveX of Inogard Co,,LTD(AxECM.cab) on Windows 7/8/10 7.2 High2020-04-29
CVE-2020-9751 Naver Cloud Explorer 安全漏洞 — Naver Cloud Explorer 9.8 -2020-03-03
CVE-2019-3977 MikroTik RouterOS 安全漏洞 — MikroTik RouterOS 9.1 -2019-10-28

Vulnerabilities classified as CWE-494 (下载代码缺少完整性检查) represent 101 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.