CVE-2023-25661: TensorFlow: DoS via malformed Convolution3D input

MEDIUM PoC AVAILABLE CISA: TRACK*
Published March 27, 2023
CISO Take

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
195.0K OpenSSF 7.2 3.7K dependents Pushed 6d ago 4% patched ~1372d to patch Full package profile →

Do you use tensorflow? You're affected.

Severity & Risk

CVSS 3.1
6.5 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 37% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, CISA SSVC, EPSS, trickest/cve, and Nuclei templates.

Attack Surface

AV AC PR UI S C I A
AV Network
AC Low
PR Low
UI None
S Unchanged
C None
I None
A High

Recommended Action

5 steps
  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.

CISA SSVC Assessment

Decision Track*
Exploitation poc
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

Classification

Compliance Impact

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity Article 9 - Risk management system
ISO 42001
6.1.2 - AI risk assessment 8.4 - AI system operation and monitoring
NIST AI RMF
MANAGE-2.6 - Risk response for AI risks from third-party entities MAP-5.1 - Likelihood and magnitude of each identified AI risk

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

Timeline

Published
March 27, 2023
Last Modified
November 21, 2024
First Seen
March 27, 2023

Related Vulnerabilities