What it is: Missing Support for Integrity Check (CWE-353) is a type of vulnerability that occurs when data integrity checks are missing in transmission protocols.
Why it matters: CWE-353 can lead to data corruption, unauthorized changes, and loss of trust in your application or system.
How to fix it: You can add a checksum to the transmission protocol to verify data integrity.
TL;DR: Missing Support for Integrity Check (CWE-353) is a type of vulnerability that occurs when data integrity checks are missing in transmission protocols, and can be fixed by adding a checksum.
At-a-Glance Table
| Field | Value |
|---|---|
| CWE ID | CWE-353 |
| OWASP Category | A08:2025 - Software or Data Integrity Failures |
| CAPEC | CAPEC-13, CAPEC-14, CAPEC-389, CAPEC-39, CAPEC-665, CAPEC-74, CAPEC-75 |
| Typical Severity | Varies by instance — typically 6.4-7.1 under CVSS v3.1 |
| Affected Technologies | Transmission protocols |
| Detection Difficulty | Moderate |
| Last Updated | 2026-07-28 |
What is Missing Support for Integrity Check?
Missing Support for Integrity Check (CWE-353) is a type of vulnerability that occurs when data integrity checks are missing in transmission protocols. As defined by the MITRE Corporation under CWE-353, and classified by the OWASP Foundation under A08:2025 - Software or Data Integrity Failures, this vulnerability can lead to data corruption, unauthorized changes, and loss of trust in your application or system.
Quick Summary
Missing Support for Integrity Check (CWE-353) is a type of vulnerability that occurs when data integrity checks are missing in transmission protocols. This can lead to data corruption, unauthorized changes, and loss of trust in your application or system. You can detect CWE-353 using automated scanners like PenScan, and prevent it by adding a checksum to the transmission protocol.
Jump to: Quick Summary · Missing Support for Integrity Check Overview · How Missing Support for Integrity Check Works · Business Impact of Missing Support for Integrity Check · Missing Support for Integrity Check Attack Scenario · How to Detect Missing Support for Integrity Check · How to Fix Missing Support for Integrity Check · Framework-Specific Fixes for Missing Support for Integrity Check · How to Ask AI to Check Your Code for Missing Support for Integrity Check · Missing Support for Integrity Check Best Practices Checklist · Missing Support for Integrity Check FAQ · Vulnerabilities Related to Missing Support for Integrity Check · References · Scan Your Own Site
Missing Support for Integrity Check Overview
What: CWE-353 occurs when a transmission protocol lacks a mechanism to verify the integrity of data during transmission, such as a checksum.
Why it matters: CWE-353 can lead to data corruption, unauthorized changes, and loss of trust in your application or system.
Where it occurs: CWE-353 typically occurs in transmission protocols that lack data integrity checks.
Who is affected: Any organization using transmission protocols without data integrity checks is at risk for CWE-353.
Who is NOT affected: Organizations using transmission protocols with built-in data integrity checks are not at risk for CWE-353.
How Missing Support for Integrity Check Works
Root Cause
The root cause of CWE-353 is the lack of a mechanism to verify the integrity of data during transmission, such as a checksum.
Attack Flow
- An attacker sends malicious data through the transmission protocol.
- The transmission protocol lacks a mechanism to verify the integrity of the data.
- The data is processed without being checked for integrity.
- The attacker gains unauthorized access or control over the system.
Prerequisites to Exploit
- The transmission protocol must lack a mechanism to verify the integrity of data during transmission.
- The attacker must have knowledge of the transmission protocol and its weaknesses.
Vulnerable Code
import hashlib
def send_data(data):
# Send data without checking for integrity
return data
Why this code is vulnerable: This code sends data without checking for integrity, making it vulnerable to CWE-353.
Secure Code
import hashlib
def send_data(data):
# Check for integrity using a checksum
checksum = hashlib.md5(data.encode()).hexdigest()
if checksum == "expected_checksum":
return data
Why this code is secure: This code checks for integrity using a checksum, preventing CWE-353.
Business Impact of Missing Support for Integrity Check
Confidentiality
- Data corruption can lead to unauthorized access or control over sensitive information.
- Data integrity failures can compromise confidentiality by allowing attackers to modify or manipulate data.
Integrity
- Unauthorized changes can occur due to missing data integrity checks.
- Data integrity failures can compromise integrity by allowing attackers to modify or manipulate data.
Availability
- Data corruption can lead to system crashes or downtime.
- Data integrity failures can compromise availability by allowing attackers to modify or manipulate data.
Missing Support for Integrity Check Attack Scenario
- An attacker sends malicious data through the transmission protocol.
- The transmission protocol lacks a mechanism to verify the integrity of the data.
- The data is processed without being checked for integrity.
- The attacker gains unauthorized access or control over the system.
How to Detect Missing Support for Integrity Check
Manual Testing
- Review code for missing data integrity checks.
- Test transmission protocol for vulnerabilities.
- Verify checksums are used correctly.
Automated Scanners (SAST / DAST)
Automated scanners can detect CWE-353 by analyzing the transmission protocol and checking for missing data integrity checks. However, dynamic testing is required to catch this vulnerability.
PenScan Detection
PenScan’s scanner engines actively test for CWE-353 vulnerabilities in transmission protocols.
False Positive Guidance
False positives can occur when scanners incorrectly identify missing data integrity checks. Review code and transmission protocol configurations carefully to avoid false positives.
How to Fix Missing Support for Integrity Check
- Add a checksum to the transmission protocol to verify data integrity.
- Use built-in libraries or modules that provide data integrity checks, such as SSL/TLS encryption in web applications.
- Implement secure coding practices to prevent CWE-353.
Framework-Specific Fixes for Missing Support for Integrity Check
Java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SecureDataSender {
public static void sendData(byte[] data) throws NoSuchAlgorithmException {
// Calculate checksum using MessageDigest
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] checksum = md.digest(data);
if (Arrays.equals(checksum, "expected_checksum")) {
System.out.println("Data sent successfully.");
}
}
}
Node.js
const crypto = require('crypto');
function sendData(data) {
// Calculate checksum using crypto
const checksum = crypto.createHash('md5').update(data).digest();
if (checksum.equals("expected_checksum")) {
console.log("Data sent successfully.");
}
}
Python/Django
import hashlib
def send_data(data):
# Check for integrity using a checksum
checksum = hashlib.md5(data.encode()).hexdigest()
if checksum == "expected_checksum":
return data
How to Ask AI to Check Your Code for Missing Support for Integrity Check
Review the following Python code block for potential CWE-353 Missing Support for Integrity Check vulnerabilities and rewrite it using primary fix technique:
import hashlib
def send_data(data):
# Send data without checking for integrity
return data
Review the following Python code block for potential CWE-353 Missing Support for Integrity Check vulnerabilities and rewrite it using primary fix technique: [paste code here]
Missing Support for Integrity Check Best Practices Checklist
✅ Review transmission protocols for missing data integrity checks. ✅ Implement secure coding practices to prevent CWE-353. ✅ Use built-in libraries or modules that provide data integrity checks, such as SSL/TLS encryption in web applications.
Missing Support for Integrity Check FAQ
How does Missing Support for Integrity Check (CWE-353) occur?
CWE-353 occurs when a transmission protocol lacks a mechanism to verify the integrity of data during transmission, such as a checksum.
What is the typical severity of Missing Support for Integrity Check (CWE-353)?
The severity of CWE-353 varies by instance, typically ranging from 6.4 to 7.1 under CVSS v3.1.
Which technologies are affected by Missing Support for Integrity Check (CWE-353)?
CWE-353 affects transmission protocols that lack data integrity checks.
How can I detect Missing Support for Integrity Check (CWE-353) in my code?
You can use automated scanners like PenScan to detect CWE-353 vulnerabilities in your code.
What is the business impact of Missing Support for Integrity Check (CWE-353)?
The business impact of CWE-353 includes data corruption, unauthorized changes, and loss of trust in your application or system.
How can I prevent Missing Support for Integrity Check (CWE-353) in my code?
You can add a checksum to the transmission protocol to verify data integrity.
What are some framework-specific fixes for Missing Support for Integrity Check (CWE-353)?
Framework-specific fixes include using built-in libraries or modules that provide data integrity checks, such as SSL/TLS encryption in web applications.
Vulnerabilities Related to Missing Support for Integrity Check
| CWE | Name | Relationship |
|---|---|---|
| CWE-345 | Insufficient Verification of Data Authenticity | ChildOf |
| CWE-354 | Improper Validation of Integrity Check Value | PeerOf |
References
- https://cwe.mitre.org/data/definitions/353.html
- https://owasp.org/index.php/A08_2025#tab=Summary
- https://capec.mitre.org/data/definitions/13.html
- NVD
Scan Your Own Site
Manual code review catches what you know to look for. An automated scan catches what you didn’t. Scan your own website using PenScan to find Missing Support for Integrity Check and other risks before an attacker does.