CVE-2022-35964: TensorFlow: remote DoS via BlockLSTMGradV2 validation
HIGH PoC AVAILABLEAny TensorFlow deployment running versions prior to 2.10.0/2.9.1/2.8.1/2.7.2 that exposes LSTM gradient operations over a network is vulnerable to unauthenticated remote crash. Patch immediately to the fixed versions; no workaround exists. Prioritize training infrastructure and model-serving endpoints that accept user-controlled tensor inputs.
Risk Assessment
CVSS 7.5 with AV:N/AC:L/PR:N/UI:N makes this trivially exploitable by any network-adjacent attacker with no authentication. The impact is confined to availability (no confidentiality or integrity loss), but repeated exploitation can permanently disrupt training jobs or inference services. Exposure is high in organizations using TF-Serving or Kubeflow pipelines with externally reachable endpoints.
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 to TensorFlow 2.10.0, 2.9.1, 2.8.1, or 2.7.2 immediately.
-
Network isolation: restrict TF Serving and training API endpoints to internal networks; do not expose raw TF op execution to untrusted clients.
-
Input validation: add upstream schema validation to reject malformed tensor shapes before they reach TF ops.
-
Detection: monitor for abnormal process crashes or pod restarts in ML infrastructure; alert on TF worker SIGSEGV signals.
-
No workaround exists per vendor advisory—patching is the only remediation.
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-2022-35964?
Any TensorFlow deployment running versions prior to 2.10.0/2.9.1/2.8.1/2.7.2 that exposes LSTM gradient operations over a network is vulnerable to unauthenticated remote crash. Patch immediately to the fixed versions; no workaround exists. Prioritize training infrastructure and model-serving endpoints that accept user-controlled tensor inputs.
Is CVE-2022-35964 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2022-35964, increasing the risk of exploitation.
How to fix CVE-2022-35964?
1. Patch: upgrade to TensorFlow 2.10.0, 2.9.1, 2.8.1, or 2.7.2 immediately. 2. Network isolation: restrict TF Serving and training API endpoints to internal networks; do not expose raw TF op execution to untrusted clients. 3. Input validation: add upstream schema validation to reject malformed tensor shapes before they reach TF ops. 4. Detection: monitor for abnormal process crashes or pod restarts in ML infrastructure; alert on TF worker SIGSEGV signals. 5. No workaround exists per vendor advisory—patching is the only remediation.
What systems are affected by CVE-2022-35964?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, model serving, ML infrastructure.
What is the CVSS score for CVE-2022-35964?
CVE-2022-35964 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.04%.
Technical Details
NVD Description
TensorFlow is an open source platform for machine learning. The implementation of `BlockLSTMGradV2` does not fully validate its inputs. This results in a a segfault that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 2a458fc4866505be27c62f81474ecb2b870498fa. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.
Exploitation Scenario
An adversary identifies a publicly reachable TensorFlow Serving endpoint or an internal MLOps API (e.g., Kubeflow pipeline trigger) that internally invokes LSTM gradient operations. They craft a malformed tensor input with unexpected shape or dtype for the BlockLSTMGradV2 kernel—no authentication or AI/ML expertise required, just knowledge of TF op signatures (publicly documented). The malformed input bypasses TF's incomplete input validation and triggers a segfault, killing the TF process. In a training cluster, this aborts long-running jobs. In a serving context, it takes the inference endpoint offline. Automated retries with the same payload produce a sustained DoS.
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