CVE-2025-55559: TensorFlow: DoS via Conv2D valid padding crash
HIGH PoC AVAILABLE CISA: TRACK*Any TensorFlow 2.18.0 inference service accepting external input through Conv2D layers with 'valid' padding can be remotely crashed with no authentication required. Prioritize patching or isolating exposed model serving endpoints. If patching is not immediately possible, enforce strict input validation at the API boundary to reject malformed tensor shapes.
What is the risk?
HIGH. CVSS 7.5 with network vector, low complexity, no privileges, no user interaction makes this trivially exploitable at scale. The blast radius is significant given TensorFlow's ubiquity in production ML pipelines. While exploitation only achieves availability impact (no data exfiltration), a sustained DoS against an inference endpoint can disrupt AI-dependent business processes, trigger SLA violations, and create windows for secondary attacks during incident response chaos.
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| TensorFlow | pip | — | No patch |
Do you use TensorFlow? You're affected.
How severe is it?
What is the attack surface?
What should I do?
5 steps-
PATCH
Upgrade TensorFlow beyond 2.18.0 as soon as a fixed release is available; monitor the TensorFlow GitHub releases page and security advisories.
-
WORKAROUND
Add input validation middleware that enforces allowlisted padding values and valid tensor shape ranges before passing data to Conv2D layers.
-
NETWORK
Place TF Serving instances behind API gateways with rate limiting and request size limits to reduce DoS feasibility.
-
DETECTION
Alert on anomalous inference endpoint crash rates or sudden process restarts in TF Serving containers.
-
ISOLATION
If the model endpoint is not customer-facing, restrict network access to internal clients only via VPC/firewall rules immediately.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2025-55559?
Any TensorFlow 2.18.0 inference service accepting external input through Conv2D layers with 'valid' padding can be remotely crashed with no authentication required. Prioritize patching or isolating exposed model serving endpoints. If patching is not immediately possible, enforce strict input validation at the API boundary to reject malformed tensor shapes.
Is CVE-2025-55559 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2025-55559, increasing the risk of exploitation.
How to fix CVE-2025-55559?
1. PATCH: Upgrade TensorFlow beyond 2.18.0 as soon as a fixed release is available; monitor the TensorFlow GitHub releases page and security advisories. 2. WORKAROUND: Add input validation middleware that enforces allowlisted padding values and valid tensor shape ranges before passing data to Conv2D layers. 3. NETWORK: Place TF Serving instances behind API gateways with rate limiting and request size limits to reduce DoS feasibility. 4. DETECTION: Alert on anomalous inference endpoint crash rates or sudden process restarts in TF Serving containers. 5. ISOLATION: If the model endpoint is not customer-facing, restrict network access to internal clients only via VPC/firewall rules immediately.
What systems are affected by CVE-2025-55559?
This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, inference APIs, image processing pipelines.
What is the CVSS score for CVE-2025-55559?
CVE-2025-55559 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.20%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029 Denial of AI Service AML.T0034 Cost Harvesting AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
An issue was discovered TensorFlow v2.18.0. A Denial of Service (DoS) occurs when padding is set to 'valid' in tf.keras.layers.Conv2D.
Exploitation Scenario
An adversary identifies a public-facing image classification API (e.g., a product photo moderation service) running TensorFlow 2.18.0. By inspecting API responses or documentation, they confirm the backend uses a CNN architecture. The adversary crafts a lightweight HTTP client that sends valid-looking image inference requests specifically designed to trigger the Conv2D 'valid' padding bug — this requires no special ML knowledge, just the right input shape or configuration. Repeated requests crash the TensorFlow process, taking down the inference service. If the service auto-restarts, the adversary loops the attack for sustained disruption. At scale, this can be used to eliminate AI-based fraud detection or content moderation layers before a larger attack.
Weaknesses (CWE)
CWE-400 — Uncontrolled Resource Consumption: The product does not properly control the allocation and maintenance of a limited resource.
- [Architecture and Design] Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
- [Architecture and Design] Mitigation of resource exhaustion attacks requires that the target system either: The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question. The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker. recognizes the attack and denies that user further access for a given amount of time, or uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H References
Timeline
Related Vulnerabilities
CVE-2020-15196 9.9 TensorFlow: heap OOB read in sparse/ragged count ops
Same package: tensorflow CVE-2020-15205 9.8 TensorFlow: heap overflow in StringNGrams, ASLR bypass
Same package: tensorflow CVE-2020-15208 9.8 TFLite: OOB read/write via tensor dimension mismatch
Same package: tensorflow CVE-2019-16778 9.8 TensorFlow: heap overflow in UnsortedSegmentSum op
Same package: tensorflow CVE-2022-23587 9.8 TensorFlow: integer overflow in Grappler enables RCE
Same package: tensorflow