CVE-2022-29213: TensorFlow: input validation DoS in FFT signal ops
MEDIUM PoC AVAILABLE CISA: TRACK*Low operational risk — local-only DoS in TensorFlow's rfft2d/rfft3d signal functions, no confidentiality or integrity impact. Patches have been available since May 2022 across TF 2.6.4, 2.7.2, 2.8.1, and 2.9.0. Prioritize upgrade only if ML teams are running unpatched TensorFlow in shared compute environments where crashes could disrupt training pipelines or model serving.
Risk Assessment
Low-medium operational risk. Local access required limits exploitation to insider threats, compromised developer machines, or multi-tenant shared compute environments (Jupyter hubs, ML platforms). No confidentiality or integrity impact — availability only. Not in CISA KEV with no evidence of active exploitation. Organizations running TF ≥2.6.4, ≥2.7.2, ≥2.8.1, or ≥2.9.0 are fully remediated. CVSS 5.5 appropriately reflects the constrained attack surface.
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.6.4, ≥2.7.2, ≥2.8.1, or ≥2.9.0 — patches released May 2022.
-
Audit: Search codebase for tf.compat.v1.signal.rfft2d and tf.compat.v1.signal.rfft3d usage.
-
Compensating control: Add explicit tensor shape validation before passing inputs to these functions in untrusted-input scenarios.
-
Detection: Monitor for unexpected TF process crashes in ML infrastructure and alert on abnormal termination patterns.
-
Isolation: Run training jobs in isolated containers to contain blast radius of crashes in shared environments.
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-29213?
Low operational risk — local-only DoS in TensorFlow's rfft2d/rfft3d signal functions, no confidentiality or integrity impact. Patches have been available since May 2022 across TF 2.6.4, 2.7.2, 2.8.1, and 2.9.0. Prioritize upgrade only if ML teams are running unpatched TensorFlow in shared compute environments where crashes could disrupt training pipelines or model serving.
Is CVE-2022-29213 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2022-29213, increasing the risk of exploitation.
How to fix CVE-2022-29213?
1. Patch: Upgrade TensorFlow to ≥2.6.4, ≥2.7.2, ≥2.8.1, or ≥2.9.0 — patches released May 2022. 2. Audit: Search codebase for tf.compat.v1.signal.rfft2d and tf.compat.v1.signal.rfft3d usage. 3. Compensating control: Add explicit tensor shape validation before passing inputs to these functions in untrusted-input scenarios. 4. Detection: Monitor for unexpected TF process crashes in ML infrastructure and alert on abnormal termination patterns. 5. Isolation: Run training jobs in isolated containers to contain blast radius of crashes in shared environments.
What systems are affected by CVE-2022-29213?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, model serving, research notebooks, shared ML compute.
What is the CVSS score for CVE-2022-29213?
CVE-2022-29213 has a CVSS v3.1 base score of 5.5 (MEDIUM). The EPSS exploitation probability is 0.11%.
Technical Details
NVD Description
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the `tf.compat.v1.signal.rfft2d` and `tf.compat.v1.signal.rfft3d` lack input validation and under certain condition can result in crashes (due to `CHECK`-failures). Versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this issue.
Exploitation Scenario
An attacker with local access to a shared ML compute environment (e.g., Jupyter Hub, shared GPU cluster) submits a crafted tensor with malformed dimensions to a model pipeline using TF's rfft2d/rfft3d operations. The missing input validation triggers a CHECK assertion failure, crashing the TensorFlow process and terminating co-located training runs. In a multi-tenant ML platform, this could be used to repeatedly sabotage competitors' training jobs or disrupt a model serving endpoint processing signal-based features — with no special ML knowledge required beyond knowing the target function signatures.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H References
- github.com/tensorflow/tensorflow/commit/0a8a781e597b18ead006d19b7d23d0a369e9ad73 Patch 3rd Party
- github.com/tensorflow/tensorflow/issues/55263 Exploit Issue 3rd Party
- github.com/tensorflow/tensorflow/pull/55274 Issue Patch 3rd Party
- github.com/tensorflow/tensorflow/releases/tag/v2.6.4 Release 3rd Party
- github.com/tensorflow/tensorflow/releases/tag/v2.7.2 Release 3rd Party
- github.com/tensorflow/tensorflow/releases/tag/v2.8.1 Release 3rd Party
- github.com/tensorflow/tensorflow/releases/tag/v2.9.0 Release 3rd Party
- github.com/tensorflow/tensorflow/security/advisories/GHSA-5889-7v45-q28m Exploit Patch 3rd Party
- github.com/ARPSyndicate/cvemon Exploit
- github.com/skipfuzz/skipfuzz Exploit
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