CVE-2022-41907: TensorFlow: integer overflow in ResizeNearestNeighborGrad → DoS

HIGH PoC AVAILABLE CISA: TRACK*
Published November 18, 2022
CISO Take

An unauthenticated remote attacker can crash any TensorFlow inference service by sending a crafted image resize request with an oversized `size` parameter, triggering an integer overflow. If your ML serving infrastructure exposes TensorFlow endpoints publicly or accepts untrusted input, this is an availability risk requiring immediate patching. Upgrade to TF 2.11, 2.10.1, 2.9.3, or 2.8.4 — no workaround exists short of input validation at the API boundary.

What is the risk?

High severity for publicly exposed TF serving endpoints due to network-exploitable, zero-auth, zero-interaction exploit path (CVSS 7.5). Impact is limited to availability — no data exfiltration or integrity compromise. Risk is elevated in production computer vision APIs where arbitrary image dimensions are accepted. Reduced risk for air-gapped training environments or pipelines with strict input schema validation. Not in CISA KEV and no evidence of active exploitation, keeping effective risk at MEDIUM-HIGH for most organizations.

What systems are affected?

Package Ecosystem Vulnerable Range Patched
TensorFlow pip No patch
195.8K OpenSSF 7.1 3.7K dependents Pushed 3d ago 4% patched ~1372d to patch Full package profile →

Do you use TensorFlow? You're affected.

How severe is it?

CVSS 3.1
7.5 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 35% 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, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What is the 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

What should I do?

5 steps
  1. PATCH

    Upgrade TensorFlow to 2.11.0+, 2.10.1+, 2.9.3+, or 2.8.4+ (commit 00c821af).

  2. VALIDATE

    Enforce strict input validation on image dimensions at API boundaries — reject or clamp size values above a safe maximum before reaching TF ops.

  3. ISOLATE

    Run TF Serving behind an API gateway with request schema validation (e.g., max height/width constraints).

  4. DETECT

    Monitor for sudden process crashes or OOM kills in TF serving processes — repeated crashes from a single source may indicate exploitation attempts.

  5. VERIFY

    Check pip show tensorflow in all serving environments; scan Dockerfiles and requirements.txt for pinned pre-patch versions.

What does CISA's SSVC say?

Decision Track*
Exploitation poc
Automatable No
Technical Impact partial

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

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2 - AI system operation and monitoring
NIST AI RMF
MANAGE 2.4 - Residual risks from AI system vulnerabilities

Frequently Asked Questions

What is CVE-2022-41907?

An unauthenticated remote attacker can crash any TensorFlow inference service by sending a crafted image resize request with an oversized `size` parameter, triggering an integer overflow. If your ML serving infrastructure exposes TensorFlow endpoints publicly or accepts untrusted input, this is an availability risk requiring immediate patching. Upgrade to TF 2.11, 2.10.1, 2.9.3, or 2.8.4 — no workaround exists short of input validation at the API boundary.

Is CVE-2022-41907 actively exploited?

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

How to fix CVE-2022-41907?

1. PATCH: Upgrade TensorFlow to 2.11.0+, 2.10.1+, 2.9.3+, or 2.8.4+ (commit 00c821af). 2. VALIDATE: Enforce strict input validation on image dimensions at API boundaries — reject or clamp `size` values above a safe maximum before reaching TF ops. 3. ISOLATE: Run TF Serving behind an API gateway with request schema validation (e.g., max height/width constraints). 4. DETECT: Monitor for sudden process crashes or OOM kills in TF serving processes — repeated crashes from a single source may indicate exploitation attempts. 5. VERIFY: Check `pip show tensorflow` in all serving environments; scan Dockerfiles and requirements.txt for pinned pre-patch versions.

What systems are affected by CVE-2022-41907?

This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, computer vision pipelines.

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

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

What is the AI security impact?

Affected AI Architectures

model servingtraining pipelinescomputer vision pipelines

MITRE ATLAS Techniques

AML.T0010.001 AI Software
AML.T0029 Denial of AI Service
AML.T0049 Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.6.2
NIST AI RMF: MANAGE 2.4

What are the technical details?

Original Advisory

TensorFlow is an open source platform for machine learning. When `tf.raw_ops.ResizeNearestNeighborGrad` is given a large `size` input, it overflows. We have patched the issue in GitHub commit 00c821af032ba9e5f5fa3fe14690c8d28a657624. The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1, 2.9.3, and TensorFlow 2.8.4, as these are also affected and still in supported range.

Exploitation Scenario

An adversary targeting a computer vision API (e.g., an image classification or object detection endpoint) sends a crafted inference request containing an image with an extreme `size` parameter to trigger the `ResizeNearestNeighborGrad` operation. The integer overflow occurs server-side, causing the TF runtime to crash. This requires no credentials, no special AI/ML knowledge, and no prior access — only the ability to send a network request. Automated scanners could discover exposed TF Serving endpoints (default port 8501) and exploit this at scale to degrade availability of AI-powered services.

Weaknesses (CWE)

CWE-131 — Incorrect Calculation of Buffer Size: The product does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.

  • [Implementation] When allocating a buffer for the purpose of transforming, converting, or encoding an input, allocate enough memory to handle the largest possible encoding. For example, in a routine that converts "&" characters to "&" for HTML entity encoding, the output buffer needs to be at least 5 times as large as the input buffer.
  • [Implementation] Understand the programming language's underlying representation and how it interacts with numeric calculation (CWE-681). Pay close attention to byte size discrepancies, precision, signed/unsigned distinctions, truncation, conversion and casting between types, "not-a-number" calculations, and how the language handles numbers that are too large or too small for its underlying representation. [REF-7] Also be careful to account for 32-bit, 64-bit, and other potential differences that may affect the numeric representation.

Source: MITRE CWE corpus.

CVSS Vector

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

Timeline

Published
November 18, 2022
Last Modified
November 21, 2024
First Seen
November 18, 2022

Related Vulnerabilities