CVE-2023-25673: TensorFlow: FPE in TensorListSplit (XLA) remote DoS
HIGHA remotely exploitable floating point exception in TensorFlow's XLA-compiled TensorListSplit operation allows unauthenticated attackers to crash any TF serving endpoint that processes user-controlled tensor inputs — no privileges or interaction required. If your model serving infrastructure runs TF < 2.11.1/2.12.0 with XLA enabled, this is an uptime risk to production inference APIs. Patch immediately or disable XLA compilation as a temporary workaround.
Risk Assessment
High severity for AI/ML production environments. CVSS 7.5 reflects unauthenticated network-accessible DoS with low attack complexity. Internet-facing TF Serving APIs, REST/gRPC model endpoints, and any pipeline that feeds user-controlled data into XLA-compiled graphs are directly exposed. The availability-only impact limits blast radius, but continuous exploitation can take down inference infrastructure with trivial automation. Severity is elevated in regulated environments where model availability underpins compliance SLAs.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| tensorflow | pip | — | No patch |
Do you use tensorflow? You're affected.
Severity & Risk
Attack Surface
Recommended Action
6 steps-
PATCH
Upgrade to TensorFlow 2.12.0 or 2.11.1 — the only definitive fix per the vendor advisory.
-
WORKAROUND
Disable XLA JIT compilation via tf.config.optimizer.set_jit(False) or TF_XLA_FLAGS env var until patching is feasible.
-
INPUT VALIDATION
Add server-side tensor shape and type validation before feeding inputs to XLA-compiled graphs — reject malformed or unexpected tensor list dimensions at the API boundary.
-
RATE LIMITING
Apply request rate limits and circuit breakers on model serving endpoints to reduce DoS impact.
-
DETECTION
Monitor for abnormal process crashes or restarts in TF Serving containers; alert on SIGFPE signals in model serving processes.
-
ISOLATION
Run model serving in isolated containers/processes with automatic restart policies to minimize downtime during exploitation attempts.
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-2023-25673?
A remotely exploitable floating point exception in TensorFlow's XLA-compiled TensorListSplit operation allows unauthenticated attackers to crash any TF serving endpoint that processes user-controlled tensor inputs — no privileges or interaction required. If your model serving infrastructure runs TF < 2.11.1/2.12.0 with XLA enabled, this is an uptime risk to production inference APIs. Patch immediately or disable XLA compilation as a temporary workaround.
Is CVE-2023-25673 actively exploited?
No confirmed active exploitation of CVE-2023-25673 has been reported, but organizations should still patch proactively.
How to fix CVE-2023-25673?
1. PATCH: Upgrade to TensorFlow 2.12.0 or 2.11.1 — the only definitive fix per the vendor advisory. 2. WORKAROUND: Disable XLA JIT compilation via tf.config.optimizer.set_jit(False) or TF_XLA_FLAGS env var until patching is feasible. 3. INPUT VALIDATION: Add server-side tensor shape and type validation before feeding inputs to XLA-compiled graphs — reject malformed or unexpected tensor list dimensions at the API boundary. 4. RATE LIMITING: Apply request rate limits and circuit breakers on model serving endpoints to reduce DoS impact. 5. DETECTION: Monitor for abnormal process crashes or restarts in TF Serving containers; alert on SIGFPE signals in model serving processes. 6. ISOLATION: Run model serving in isolated containers/processes with automatic restart policies to minimize downtime during exploitation attempts.
What systems are affected by CVE-2023-25673?
This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, inference endpoints, TPU/XLA-accelerated workloads.
What is the CVSS score for CVE-2023-25673?
CVE-2023-25673 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.28%.
Technical Details
NVD Description
TensorFlow is an open source platform for machine learning. Versions prior to 2.12.0 and 2.11.1 have a Floating Point Exception in TensorListSplit with XLA. A fix is included in TensorFlow version 2.12.0 and version 2.11.1.
Exploitation Scenario
An attacker identifies a publicly accessible TensorFlow Serving REST API endpoint (common in MLOps platforms, internal AI services, or SaaS products built on TF). Using knowledge of the target model's input schema — obtainable via the model's /v1/models endpoint or error messages — the attacker crafts a request containing a TensorList with edge-case numeric parameters that trigger the XLA TensorListSplit division-by-zero or invalid comparison. The FPE signal crashes the serving worker process. The attacker automates this with a simple curl/Python script to continuously restart-crash the server, achieving sustained DoS. No authentication, no ML expertise beyond basic TF API knowledge required.
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