CVE-2020-26269: TensorFlow: OOB read in glob path matching causes DoS
HIGH PoC AVAILABLEThis vulnerability in TensorFlow 2.4 release candidates allows unauthenticated remote attackers to crash TensorFlow processes via malformed filesystem glob patterns, resulting in denial of service. The final 2.4.0 release is patched — if any team ran RC builds in production (a bad practice itself), upgrade immediately. Risk is low for most organizations since RC versions should never reach production AI pipelines.
Risk Assessment
Despite CVSS 7.5 HIGH rating, practical risk is limited: the vulnerability exclusively affects TensorFlow 2.4.0 release candidate versions and was resolved before the stable release. Network-reachable, no authentication required, and trivially triggerable make it dangerous in theory — but the narrow exposure window (RC builds only) significantly reduces real-world blast radius. No confidentiality or integrity impact; only availability. No evidence of active exploitation. Organizations using stable TensorFlow builds are unaffected.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| tensorflow | pip | — | No patch |
Do you use tensorflow? You're affected.
Severity & Risk
Attack Surface
Recommended Action
5 steps-
PATCH
Upgrade all TensorFlow installations to 2.4.0 stable or later — this is the only fix.
-
AUDIT
Scan your environment for any deployment using tensorflow==2.4.0rc* versions (pip list | grep tensorflow).
-
POLICY
Enforce policy that release candidate versions of ML frameworks are never deployed to production or staging environments.
-
DETECT
Monitor for unusual TensorFlow process crashes or OOM errors in ML workloads — could indicate exploitation attempts.
-
COMPENSATE
If patching is delayed, restrict network access to any service accepting user-controlled file path inputs to TensorFlow.
Classification
Compliance Impact
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2020-26269?
This vulnerability in TensorFlow 2.4 release candidates allows unauthenticated remote attackers to crash TensorFlow processes via malformed filesystem glob patterns, resulting in denial of service. The final 2.4.0 release is patched — if any team ran RC builds in production (a bad practice itself), upgrade immediately. Risk is low for most organizations since RC versions should never reach production AI pipelines.
Is CVE-2020-26269 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2020-26269, increasing the risk of exploitation.
How to fix CVE-2020-26269?
1. PATCH: Upgrade all TensorFlow installations to 2.4.0 stable or later — this is the only fix. 2. AUDIT: Scan your environment for any deployment using tensorflow==2.4.0rc* versions (pip list | grep tensorflow). 3. POLICY: Enforce policy that release candidate versions of ML frameworks are never deployed to production or staging environments. 4. DETECT: Monitor for unusual TensorFlow process crashes or OOM errors in ML workloads — could indicate exploitation attempts. 5. COMPENSATE: If patching is delayed, restrict network access to any service accepting user-controlled file path inputs to TensorFlow.
What systems are affected by CVE-2020-26269?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, model serving, data preprocessing pipelines, batch inference.
What is the CVSS score for CVE-2020-26269?
CVE-2020-26269 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.14%.
Technical Details
NVD Description
In TensorFlow release candidate versions 2.4.0rc*, the general implementation for matching filesystem paths to globbing pattern is vulnerable to an access out of bounds of the array holding the directories. There are multiple invariants and preconditions that are assumed by the parallel implementation of GetMatchingPaths but are not verified by the PRs introducing it (#40861 and #44310). Thus, we are completely rewriting the implementation to fully specify and validate these. This is patched in version 2.4.0. This issue only impacts master branch and the release candidates for TF version 2.4. The final release of the 2.4 release will be patched.
Exploitation Scenario
An adversary targeting an ML inference API that accepts file path inputs (e.g., a model serving endpoint that loads user-specified dataset files) crafts a malformed glob pattern designed to trigger the out-of-bounds read in GetMatchingPaths. On a TF 2.4.0rc* backend, the parallel path matching routine processes the crafted path, violates unverified array invariants, and crashes the TensorFlow process. In a CI/CD context, an attacker with access to a training pipeline configuration could inject a malicious data path into a config file, causing the training job to crash repeatedly and preventing model updates — a targeted disruption of ML operations.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H References
- github.com/tensorflow/tensorflow/commit/8b5b9dc96666a3a5d27fad7179ff215e3b74b67c Patch 3rd Party
- github.com/tensorflow/tensorflow/security/advisories/GHSA-9jjw-hf72-3mxw Exploit 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