CVE-2023-25658: TensorFlow: OOB read in GRUBlockCellGrad causes DoS
HIGHThis vulnerability allows an unauthenticated remote attacker to crash TensorFlow processes handling GRU-based model training or inference by supplying crafted tensor inputs, resulting in denial of service. Any organization running TensorFlow-based RNN/GRU workloads exposed to external inputs — including model-serving endpoints or shared training infrastructure — should patch to 2.12.0 or 2.11.1 immediately. No confidentiality or integrity impact confirmed, but availability disruption to training pipelines and inference endpoints is real and exploitable without privileges.
Risk Assessment
HIGH for organizations running GRU/RNN-based model serving endpoints exposed to the network. The CVSS vector (AV:N/AC:L/PR:N/UI:N) means no authentication or user interaction is needed — any attacker who can submit inputs to a TensorFlow endpoint can trigger the crash. Risk is lower for air-gapped training environments or organizations not using GRU architectures. The lack of exploitation activity and absence from CISA KEV moderates urgency, but the trivial exploitability keeps this high priority for exposed deployments.
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.12.0 or 2.11.1 immediately — only fix available, no workaround documented.
-
INVENTORY
Identify all services running TensorFlow with GRU/RNN model architectures (search for GRUCell, GRUBlockCell in model code).
-
ISOLATE
Ensure TensorFlow training and inference endpoints are not directly internet-exposed; enforce network segmentation and authentication before any model inference API.
-
DETECT
Monitor for unexpected TensorFlow process crashes or OOM errors — repeated crashes from a single source IP indicate exploitation attempts.
-
VALIDATE
After patching, run gradient checks on GRU models to confirm correct behavior is restored.
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-25658?
This vulnerability allows an unauthenticated remote attacker to crash TensorFlow processes handling GRU-based model training or inference by supplying crafted tensor inputs, resulting in denial of service. Any organization running TensorFlow-based RNN/GRU workloads exposed to external inputs — including model-serving endpoints or shared training infrastructure — should patch to 2.12.0 or 2.11.1 immediately. No confidentiality or integrity impact confirmed, but availability disruption to training pipelines and inference endpoints is real and exploitable without privileges.
Is CVE-2023-25658 actively exploited?
No confirmed active exploitation of CVE-2023-25658 has been reported, but organizations should still patch proactively.
How to fix CVE-2023-25658?
1. PATCH: Upgrade TensorFlow to 2.12.0 or 2.11.1 immediately — only fix available, no workaround documented. 2. INVENTORY: Identify all services running TensorFlow with GRU/RNN model architectures (search for GRUCell, GRUBlockCell in model code). 3. ISOLATE: Ensure TensorFlow training and inference endpoints are not directly internet-exposed; enforce network segmentation and authentication before any model inference API. 4. DETECT: Monitor for unexpected TensorFlow process crashes or OOM errors — repeated crashes from a single source IP indicate exploitation attempts. 5. VALIDATE: After patching, run gradient checks on GRU models to confirm correct behavior is restored.
What systems are affected by CVE-2023-25658?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, model serving, ML infrastructure.
What is the CVSS score for CVE-2023-25658?
CVE-2023-25658 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.05%.
Technical Details
NVD Description
TensorFlow is an open source platform for machine learning. Prior to versions 2.12.0 and 2.11.1, an out of bounds read is in GRUBlockCellGrad. A fix is included in TensorFlow 2.12.0 and 2.11.1.
Exploitation Scenario
An attacker targets an organization's publicly accessible model-serving API built on TensorFlow, hosting a sentiment analysis or time-series forecasting model using GRU layers. By crafting a malformed tensor input with dimensions that trigger the out-of-bounds read in GRUBlockCellGrad during gradient computation, the attacker repeatedly crashes the TensorFlow serving process. This disrupts real-time inference availability and — in training-as-a-service platforms — kills long-running training jobs. The attack requires no authentication, no AI/ML expertise to execute (just knowledge of the endpoint and the CVE PoC), and can be scripted for sustained denial of service.
Weaknesses (CWE)
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
AI Threat Alert