CWE-354: Improper Validation of Integrity Check Value
The product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.
View on MITREExtended Description
Improper validation of checksums before use results in an unnecessary risk that can easily be mitigated. The protocol specification describes the algorithm used for calculating the checksum. It is then a simple matter of implementing the calculation and verifying that the calculated checksum and the received checksum match. Improper verification of the calculated checksum and the received checksum can lead to far greater consequences.
Technical Details
- Structure
- Simple
Applicable To
Security Consequences
Scope
Impact
Integrity checks usually use a secret key that helps authenticate the data origin. Skipping integrity checking generally opens up the possibility that new data from an invalid source can be injected.
Scope
Impact
Data that is parsed and used may be corrupted.
Scope
Impact
Without a checksum check, it is impossible to determine if any changes have been made to the data after it was sent.
Mitigation Strategies
Phase
Description
Ensure that the checksums present in messages are properly checked in accordance with the protocol specification before they are parsed and used.
Detection Methods
No detection method information available for this CWE.
Code Examples & CVEs
Demonstrative Examples
The following example demonstrates the weakness.
The following example demonstrates the weakness.
CWE Relationships
Frequently Asked Questions
What is CWE-354: Improper Validation of Integrity Check Value?+
CWE-354: Improper Validation of Integrity Check Value is a Common Weakness Enumeration (CWE) entry maintained by MITRE. The product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission. Improper validation of checksums before use results in an unnecessary risk that can easily be mitigated. The protocol specification describes the algorithm used for calculating the checksum. It is then a simple matter of implementing the calculation and verifying that the calculated checksum and the received checksum match. Improper verification of the calculated checksum and the received checksum can lead to far greater consequences.
What are the security consequences of Improper Validation of Integrity Check Value?+
If exploited, CWE-354 (Improper Validation of Integrity Check Value) it can compromise Integrity, Other and Non-Repudiation, leading to outcomes such as Modify Application Data, Other and Hide Activities.
How do you prevent or mitigate Improper Validation of Integrity Check Value?+
Recommended mitigations for CWE-354 include: Ensure that the checksums present in messages are properly checked in accordance with the protocol specification before they are parsed and used.
Which programming languages are affected by Improper Validation of Integrity Check Value?+
CWE-354 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.
What is the difference between a CWE and a CVE?+
A CWE (Common Weakness Enumeration) like CWE-354 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.