CWE-494: Download of Code Without Integrity Check

BaseDraftExploit Likelihood: Medium

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.

View on MITRE
Back to CWE Lookup

Extended Description

An attacker can execute malicious code by compromising the host server, performing DNS spoofing, or modifying the code in transit.

Technical Details

Structure
Simple

Applicable To

Languages
Not Language-Specific
Platforms

Frequently Asked Questions

What is CWE-494: Download of Code Without Integrity Check?+

CWE-494: Download of Code Without Integrity Check is a Common Weakness Enumeration (CWE) entry maintained by MITRE. 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.

What are the security consequences of Download of Code Without Integrity Check?+

If exploited, CWE-494 (Download of Code Without Integrity Check) it can compromise Integrity, Availability, Confidentiality and Other, leading to outcomes such as Execute Unauthorized Code or Commands, Alter Execution Logic and Other.

How do you prevent or mitigate Download of Code Without Integrity Check?+

Recommended mitigations for CWE-494 include: Encrypt 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.

Which programming languages are affected by Download of Code Without Integrity Check?+

CWE-494 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Download of Code Without Integrity Check?+

MITRE documents real CVEs mapped to CWE-494, including CVE-2019-9534, CVE-2021-22909, CVE-2008-3438, CVE-2008-3324 and CVE-2001-1125. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-494 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More