Improper Validation of Integrity Check Value

Draft Base
Structure: Simple
Description

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.

Extended 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.

Common Consequences 3
Scope: IntegrityOther

Impact: Modify Application DataOther

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: IntegrityOther

Impact: Other

Data that is parsed and used may be corrupted.

Scope: Non-RepudiationOther

Impact: Hide ActivitiesOther

Without a checksum check, it is impossible to determine if any changes have been made to the data after it was sent.

Potential Mitigations 1
Phase: Implementation
Ensure that the checksums present in messages are properly checked in accordance with the protocol specification before they are parsed and used.
Demonstrative Examples 1
The following example demonstrates the weakness.

Code Example:

Bad
C
c

Code Example:

Bad
Java
java
References 1
The CLASP Application Security Process
Secure Software, Inc.
2005
ID: REF-18
Likelihood of Exploit

Medium

Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Modes of Introduction
Architecture and Design
Implementation
Taxonomy Mapping
  • ISA/IEC 62443
  • CLASP