CVE-2022-23595: TensorFlow XLA: null pointer dereference causes DoS
MEDIUM PoC AVAILABLE CISA: TRACK*A low-privileged remote user can crash TensorFlow processes by triggering the XLA compilation cache under default device settings, causing a null pointer dereference. Impact is availability-only — no data exfiltration risk — but production ML serving infrastructure can be taken down with minimal effort. Patch immediately to TensorFlow 2.8.0, 2.7.1, 2.6.3, or 2.5.3.
Risk Assessment
Medium risk overall, but elevated for organizations running TensorFlow as a shared ML platform or exposed inference service. CVSS 6.5 reflects network reachability, low attack complexity, and low privilege requirement — a low bar for disruption. Availability impact is high (process crash), but no confidentiality or integrity exposure. Not in CISA KEV and no reported active exploitation as of enrichment date, but the vulnerability is trivially triggered given default TensorFlow settings.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| tensorflow | pip | — | No patch |
Do you use tensorflow? You're affected.
Severity & Risk
Attack Surface
Recommended Action
4 steps-
PATCH
Upgrade to TensorFlow 2.8.0, 2.7.1, 2.6.3, or 2.5.3. Apply commit e21af685e1828f7ca65038307df5cc06de4479e8 if building from source.
-
WORKAROUND
If patching is delayed, restrict who can submit TensorFlow jobs to the platform. Enforce network-level authentication before XLA-enabled endpoints.
-
DETECTION
Monitor TensorFlow process crash logs for null pointer dereference signatures in xla_platform_info.cc. Alert on unexpected process restarts in ML serving infra.
-
INVENTORY
Identify all TensorFlow deployments running versions 2.5.x, 2.6.x, 2.7.x in your environment — prioritize those with network-exposed inference endpoints.
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-23595?
A low-privileged remote user can crash TensorFlow processes by triggering the XLA compilation cache under default device settings, causing a null pointer dereference. Impact is availability-only — no data exfiltration risk — but production ML serving infrastructure can be taken down with minimal effort. Patch immediately to TensorFlow 2.8.0, 2.7.1, 2.6.3, or 2.5.3.
Is CVE-2022-23595 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2022-23595, increasing the risk of exploitation.
How to fix CVE-2022-23595?
1. PATCH: Upgrade to TensorFlow 2.8.0, 2.7.1, 2.6.3, or 2.5.3. Apply commit e21af685e1828f7ca65038307df5cc06de4479e8 if building from source. 2. WORKAROUND: If patching is delayed, restrict who can submit TensorFlow jobs to the platform. Enforce network-level authentication before XLA-enabled endpoints. 3. DETECTION: Monitor TensorFlow process crash logs for null pointer dereference signatures in xla_platform_info.cc. Alert on unexpected process restarts in ML serving infra. 4. INVENTORY: Identify all TensorFlow deployments running versions 2.5.x, 2.6.x, 2.7.x in your environment — prioritize those with network-exposed inference endpoints.
What systems are affected by CVE-2022-23595?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, model serving, ML platforms.
What is the CVSS score for CVE-2022-23595?
CVE-2022-23595 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.22%.
Technical Details
NVD Description
Tensorflow is an Open Source Machine Learning Framework. When building an XLA compilation cache, if default settings are used, TensorFlow triggers a null pointer dereference. In the default scenario, all devices are allowed, so `flr->config_proto` is `nullptr`. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
Exploitation Scenario
An adversary with low-privileged access to a shared ML platform (e.g., a data scientist account, a compromised service account, or an internal user on a multi-tenant training cluster) submits a TensorFlow graph that invokes XLA compilation. Under default settings where all devices are allowed, flr->config_proto is nullptr and the XLA platform info builder dereferences it, crashing the TensorFlow runtime process. On a shared inference server, this takes down model serving for all tenants. The attack requires no special ML knowledge — just triggering any XLA-compiled operation against a vulnerable TensorFlow version.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H References
- github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/compiler/jit/xla_platform_info.cc Exploit 3rd Party
- github.com/tensorflow/tensorflow/commit/e21af685e1828f7ca65038307df5cc06de4479e8 Patch 3rd Party
- github.com/tensorflow/tensorflow/security/advisories/GHSA-fpcp-9h7m-ffpx Patch 3rd Party
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