1431
application does not protect these critical tokens/parameters for integrity, it will not be able to
determine that these values have been tampered with. Measures that are used to protect data for
confidentiality should not be relied upon to provide the integrity service.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 345 Insufficient Verification of Data Authenticity 851
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1020 Verify Message Integrity 2434
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 1214 Data Integrity Issues 2477
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Likelihood Of Exploit
High
Common Consequences
Scope Impact Likelihood
Integrity Unexpected State
The inputs could be modified without detection, causing
the product to have unexpected system state or make
incorrect security decisions.
Potential Mitigations
Phase: Architecture and Design
Protect important client controllable tokens/parameters for integrity using PKI methods (i.e. digital
signatures) or other means, and checks for integrity on the server side.
Phase: Architecture and Design
Repeated requests from a particular user that include invalid values of tokens/parameters (those
that should not be changed manually by users) should result in the user account lockout.
Phase: Architecture and Design
Client side tokens/parameters should not be such that it would be easy/predictable to guess
another valid state.
Phase: Architecture and Design
Obfuscation should not be relied upon. If encryption is used, it needs to be properly applied (i.e.
proven algorithm and implementation, use padding, use random initialization vector, user proper
encryption mode). Even with proper encryption where the ciphertext does not leak information
about the plaintext or reveal its structure, compromising integrity is possible (although less likely)
without the provision of the integrity service.
Observed Examples
CWE Version 4.14
CWE-650: Trusting HTTP Permission Methods on the Server Side
CWE-650: Trusting HTTP Permission Methods on the Server Side