CVE-2022-23590: TensorFlow: DoS via malicious SavedModel GraphDef

HIGH PoC AVAILABLE CISA: TRACK*
Published February 4, 2022
CISO Take

Any TensorFlow deployment that loads externally-sourced or user-supplied SavedModel files is vulnerable to a crash with zero authentication required. The blast radius is availability — not data leakage or code execution — but model serving infrastructure going down during inference is operationally severe. Patch to TensorFlow 2.8.0 or 2.7.1 immediately and restrict what SavedModel files your pipelines will load.

Risk Assessment

High severity in practice for organizations running model-serving infrastructure exposed to untrusted inputs. CVSS 7.5 reflects worst-case: network-reachable, no auth, low complexity. Real-world risk depends on whether your TF deployment loads externally-sourced models (high risk) or only internal, version-controlled models (lower risk). No evidence of KEV listing or active exploitation, but PoC references are public in the GitHub advisory.

Affected Systems

Package Ecosystem Vulnerable Range Patched
tensorflow pip No patch
195.0K OpenSSF 7.2 3.7K dependents Pushed today 4% patched ~1372d to patch Full package profile →

Do you use tensorflow? You're affected.

Severity & Risk

CVSS 3.1
7.5 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 47% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Moderate
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 None
UI None
S Unchanged
C None
I None
A High

Recommended Action

5 steps
  1. PATCH

    Upgrade to TensorFlow 2.8.0 or 2.7.1 — patches are in commit 955059813cc325dc1db5e2daa6221271406d4439.

  2. VALIDATE

    Implement SavedModel integrity checks (cryptographic signatures or hash verification) before loading any externally-sourced model file.

  3. SANDBOX

    Run model loading in isolated subprocesses or containers so a crash does not take down the entire serving fleet — use process supervision (systemd, Kubernetes restartPolicy).

  4. RESTRICT

    Enforce allow-listing of model sources; block loading SavedModels from untrusted registries or user uploads without review.

  5. DETECT

    Monitor for abnormal TF process crashes or OOM-killer events in model serving pods; correlate with recently loaded model artifacts.

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
Art. 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.9.2 - AI system security and resilience
NIST AI RMF
GOVERN 1.7 - Processes and procedures are in place for decommissioning and phasing out AI systems MANAGE 2.2 - Mechanisms are in place and applied to sustain the value of deployed AI systems

Frequently Asked Questions

What is CVE-2022-23590?

Any TensorFlow deployment that loads externally-sourced or user-supplied SavedModel files is vulnerable to a crash with zero authentication required. The blast radius is availability — not data leakage or code execution — but model serving infrastructure going down during inference is operationally severe. Patch to TensorFlow 2.8.0 or 2.7.1 immediately and restrict what SavedModel files your pipelines will load.

Is CVE-2022-23590 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2022-23590, increasing the risk of exploitation.

How to fix CVE-2022-23590?

1. PATCH: Upgrade to TensorFlow 2.8.0 or 2.7.1 — patches are in commit 955059813cc325dc1db5e2daa6221271406d4439. 2. VALIDATE: Implement SavedModel integrity checks (cryptographic signatures or hash verification) before loading any externally-sourced model file. 3. SANDBOX: Run model loading in isolated subprocesses or containers so a crash does not take down the entire serving fleet — use process supervision (systemd, Kubernetes restartPolicy). 4. RESTRICT: Enforce allow-listing of model sources; block loading SavedModels from untrusted registries or user uploads without review. 5. DETECT: Monitor for abnormal TF process crashes or OOM-killer events in model serving pods; correlate with recently loaded model artifacts.

What systems are affected by CVE-2022-23590?

This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, ML platforms / model registries, batch inference pipelines.

What is the CVSS score for CVE-2022-23590?

CVE-2022-23590 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.24%.

Technical Details

NVD Description

Tensorflow is an Open Source Machine Learning Framework. A `GraphDef` from a TensorFlow `SavedModel` can be maliciously altered to cause a TensorFlow process to crash due to encountering a `StatusOr` value that is an error and forcibly extracting the value from it. We have patched the issue in multiple GitHub commits and these will be included in TensorFlow 2.8.0 and TensorFlow 2.7.1, as both are affected.

Exploitation Scenario

An adversary identifies an organization running a public-facing TensorFlow model inference API or an internal MLOps platform that accepts user-uploaded models. They craft a SavedModel with a GraphDef containing a StatusOr value in an error state that is then forcibly dereferenced during graph construction. The attacker uploads this file or delivers it via a shared model registry (e.g., HuggingFace, internal Artifactory). When the serving infrastructure or training pipeline loads the model, the TF process crashes. In a Kubernetes deployment, this triggers repeated CrashLoopBackOff cycles. In a multi-tenant scenario, a single uploaded file denies service to all tenants sharing that serving node.

Weaknesses (CWE)

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Timeline

Published
February 4, 2022
Last Modified
November 21, 2024
First Seen
February 4, 2022

Related Vulnerabilities