CVE-2023-25661: TensorFlow: DoS via malformed Convolution3D input
MEDIUM PoC AVAILABLE CISA: TRACK*Any TensorFlow-based model service exposing Convolution3DTranspose to external input is vulnerable to crash-based denial of service with a low-privileged API call. Upgrade to TensorFlow 2.11.1 immediately and audit all inference endpoints that accept tensor inputs from untrusted sources. This is particularly urgent for computer vision and video processing services deployed as cloud APIs.
Risk Assessment
Rated medium by CVSS (6.5), but operational risk is higher in AI-as-a-Service deployments. Attack complexity is low (crafting a malformed tensor shape), requires only low privileges (standard API access), and is network-exploitable with no user interaction. No confidentiality or integrity impact, but availability impact is high — a single malformed request crashes the model server. Not in CISA KEV and no known active exploitation, but the PoC is public and the technique is trivially reproducible.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| tensorflow | pip | — | No patch |
Do you use tensorflow? You're affected.
Severity & Risk
Attack Surface
Recommended Action
5 steps-
Patch: Upgrade TensorFlow to >= 2.11.1 on all inference nodes, training servers, and CI/CD pipelines.
-
Input validation: Add shape and dtype validation before passing tensors to Convolution3DTranspose — reject inputs with invalid spatial dimensions or negative strides.
-
Isolation: Run inference processes in containers with restart policies (e.g., Kubernetes liveness probes) to auto-recover from crashes and limit DoS duration.
-
Rate limiting: Apply per-client rate limits on inference API endpoints to raise the cost of sustained DoS.
-
Detection: Monitor for Check Failed / SIGABRT crash logs in TensorFlow serving logs; repeated crashes from the same source IP indicate active exploitation.
CISA SSVC Assessment
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
Classification
Compliance Impact
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2023-25661?
Any TensorFlow-based model service exposing Convolution3DTranspose to external input is vulnerable to crash-based denial of service with a low-privileged API call. Upgrade to TensorFlow 2.11.1 immediately and audit all inference endpoints that accept tensor inputs from untrusted sources. This is particularly urgent for computer vision and video processing services deployed as cloud APIs.
Is CVE-2023-25661 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2023-25661, increasing the risk of exploitation.
How to fix CVE-2023-25661?
1. Patch: Upgrade TensorFlow to >= 2.11.1 on all inference nodes, training servers, and CI/CD pipelines. 2. Input validation: Add shape and dtype validation before passing tensors to Convolution3DTranspose — reject inputs with invalid spatial dimensions or negative strides. 3. Isolation: Run inference processes in containers with restart policies (e.g., Kubernetes liveness probes) to auto-recover from crashes and limit DoS duration. 4. Rate limiting: Apply per-client rate limits on inference API endpoints to raise the cost of sustained DoS. 5. Detection: Monitor for Check Failed / SIGABRT crash logs in TensorFlow serving logs; repeated crashes from the same source IP indicate active exploitation.
What systems are affected by CVE-2023-25661?
This vulnerability affects the following AI/ML architecture patterns: model serving, inference APIs, training pipelines, computer vision deployments.
What is the CVSS score for CVE-2023-25661?
CVE-2023-25661 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.16%.
Technical Details
NVD Description
TensorFlow is an Open Source Machine Learning Framework. In versions prior to 2.11.1 a malicious invalid input crashes a tensorflow model (Check Failed) and can be used to trigger a denial of service attack. A proof of concept can be constructed with the `Convolution3DTranspose` function. This Convolution3DTranspose layer is a very common API in modern neural networks. The ML models containing such vulnerable components could be deployed in ML applications or as cloud services. This failure could be potentially used to trigger a denial of service attack on ML cloud services. An attacker must have privilege to provide input to a `Convolution3DTranspose` call. This issue has been patched and users are advised to upgrade to version 2.11.1. There are no known workarounds for this vulnerability.
Exploitation Scenario
An attacker with a legitimate (low-privilege) account on a TensorFlow Serving API — or a shared ML platform like Vertex AI, SageMaker, or an internal model hub — identifies a model that uses Convolution3DTranspose (discoverable via model card, API docs, or by probing output shapes). The attacker submits a single HTTP request with a crafted tensor of invalid spatial dimensions (e.g., zero or negative filter sizes). TensorFlow's internal Check assertion fails, the serving process crashes (SIGABRT), and the API goes offline. With no auto-restart, the service remains down until manually restarted — a low-effort, high-impact DoS against ML infrastructure.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/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
AI Threat Alert