CVE-2025-55556
TensorFlow vulnerability analysis and mitigation

Overview

CVE-2025-55556 is a silent incorrectness vulnerability in TensorFlow v2.18.0 where the XLA compiler produces random (non-deterministic) output values when compiling models that use the tf.keras.layers.Embedding layer. The issue was originally reported on December 5, 2024, via the TensorFlow GitHub issue tracker and was formally assigned a CVE and published on September 25, 2025. It affects TensorFlow version 2.18.0 and has a CVSS v3.1 base score of 6.5 (Medium) (Feedly, GitHub Issue).

Technical details

The root cause is a compiler bug in TensorFlow's XLA (Accelerated Linear Algebra) JIT compiler (CWE-506 is assigned, though the behavior is more accurately described as silent incorrectness/incorrect calculation). When a model using tf.keras.layers.Embedding is compiled with @tf.function(jit_compile=True), the XLA backend fails to correctly handle the embedding lookup — specifically when input_dim=1 — and returns random tensor values instead of the expected deterministic output. Without XLA compilation, the same model returns the correct result (e.g., zero for an out-of-bounds index). The vulnerability is triggered remotely by supplying a crafted model input to a TensorFlow serving endpoint that uses XLA-compiled Embedding layers (GitHub Issue, Researcher Gist).

Impact

Exploitation of this vulnerability causes TensorFlow models using XLA-compiled Embedding layers to silently produce incorrect, non-deterministic outputs rather than raising an error. This can lead to data integrity issues, unreliable machine learning predictions, and potentially dangerous decisions in downstream applications that rely on model outputs (e.g., recommendation systems, NLP pipelines, or classification models). There is no confidentiality impact, but integrity and availability are both rated as low (Feedly).

Exploitation steps

  1. Identify target: Locate a TensorFlow 2.18.0 deployment that serves a model using tf.keras.layers.Embedding compiled with XLA (jit_compile=True), such as a TensorFlow Serving endpoint or a web API wrapping a Keras model.
  2. Craft input: Prepare an input tensor that indexes into the Embedding layer (e.g., tf.constant([1])) targeting a model with input_dim=1.
  3. Submit request: Send the crafted input to the model inference endpoint. The XLA-compiled Embedding layer will return a random tensor value instead of the expected deterministic output.
  4. Observe silent incorrectness: The model produces wrong predictions without raising any exception or error, potentially causing downstream systems to act on corrupted data. An attacker who can influence model inputs and observe outputs could exploit this to manipulate model behavior in a targeted way (GitHub Issue, Researcher Gist).

Indicators of compromise

  • Logs: Unexpected or non-deterministic model output values logged by inference services using TensorFlow 2.18.0 with XLA-compiled Embedding layers; discrepancies between compiled and non-compiled model outputs for the same input.
  • Application Behavior: Model predictions that vary across identical inference requests without any code or data changes, particularly in models using tf.keras.layers.Embedding with jit_compile=True.
  • Configuration: Presence of @tf.function(jit_compile=True) decorators wrapping Embedding layer calls in TensorFlow 2.18.0 codebases.

Mitigation and workarounds

No official patch from Google/TensorFlow has been confirmed as of the CVE publication date; patch status requires verification with the TensorFlow project. As immediate workarounds: disable XLA JIT compilation for models using tf.keras.layers.Embedding (remove jit_compile=True), audit all TensorFlow 2.18.0 deployments for affected usage patterns, and implement output validation checks to detect non-deterministic results. Organizations should monitor the TensorFlow GitHub repository for an official fix and consider downgrading to a prior stable version if XLA compilation of Embedding layers is not required (Feedly, GitHub Issue).

Community reactions

The TensorFlow community confirmed the vulnerability via the GitHub issue tracker, where it was labeled as a bug affecting TF 2.18 and the XLA component, with status awaiting a response from a TensorFlow team member. The issue was originally filed by researcher shaoyuyoung on December 5, 2024, who also published a public gist grouping this CVE alongside related ML compiler bugs in PyTorch and TensorFlow. No significant broader media coverage or social media discussion has been observed (GitHub Issue, Researcher Gist).

Additional resources


SourceThis report was generated using AI

Related TensorFlow vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-21441HIGH8.9
  • Python logoPython
  • rhel9/bootc-image-builder
NoYesJan 07, 2026
CVE-2025-0649HIGH8.9
  • TensorFlow logoTensorFlow
  • cpe:2.3:a:google:tensorflow
NoNoMay 06, 2025
CVE-2025-55559HIGH7.5
  • TensorFlow logoTensorFlow
  • cpe:2.3:a:google:tensorflow
NoNoSep 25, 2025
CVE-2026-2492HIGH7
  • TensorFlow logoTensorFlow
  • tensorflow
NoYesFeb 20, 2026
CVE-2025-55556MEDIUM6.5
  • TensorFlow logoTensorFlow
  • tensorflow
NoNoSep 25, 2025

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management