Description
The software 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.
Modes of Introduction:
– Architecture and Design
Likelihood of Exploit: Medium
Related Weaknesses
CWE-345
CWE-345
CWE-754
CWE-353
Consequences
Integrity, Other: Modify Application Data, Other
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.
Integrity, Other: Other
Data that is parsed and used may be corrupted.
Non-Repudiation, Other: Hide Activities, Other
Without a checksum check, it is impossible to determine if any changes have been made to the data after it was sent.
Potential Mitigations
Phase: Implementation
Description:
Ensure that the checksums present in messages are properly checked in accordance with the protocol specification before they are parsed and used.