Haxoris Wiki

A08: Software or Data Integrity Failures

Software or Data Integrity Failures occur when applications do not properly verify the integrity of software updates, critical data, or serialized objects, allowing attackers to inject malicious code, tamper with sensitive data, or exploit untrusted sources. This can lead to remote code execution (RCE), data corruption, and unauthorized modifications to application behavior. Where A03: Software Supply Chain Failures covers the components and pipelines an application is built from, this category covers the integrity of what the running application accepts, loads, and trusts.

Common Vulnerabilities:

  • Lack of Digital Signatures or Hash Validation for Software Updates
  • Insecure Deserialization of Attacker-Controlled Objects
  • Tampering with Configuration Files, Logs, or Critical System Data
  • Auto-Update Mechanisms That Accept Unverified Payloads
  • Client-Side Data Trusted Without Server-Side Integrity Checks (Hidden Fields, Prices, Signed Tokens Never Verified)
  • Failure to Enforce Integrity Controls for Data Stored in Databases or Caches
  • Loading Code or Content From Untrusted Sources Without Subresource Integrity

To mitigate these risks, applications should use cryptographic signatures to verify software and update integrity, avoid deserializing untrusted data (or restrict it to safe, allowlisted types), verify all security-relevant values server-side rather than trusting the client, and protect critical data from unauthorized modification using hashing, access controls, and tamper-detection mechanisms. Regular audits and integrity monitoring further reduce the risk of undetected tampering.

In this section

Last updated

References