Skip to content
Fencer Vulns
medium 5.9

CVE-2020-15199 json

Denial of Service in Tensorflow

published 2020-09-25 6 y ago modified 2026-09-08 2 mo ago also BIT-tensorflow-2020-15199 , EUVD-2020-0195 , GHSA-x5cp-9pcf-pp3h , PYSEC-2020-122 , PYSEC-2020-279 , PYSEC-2020-314

cvss
5.9
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.8%
EPSS 0.8% chance of exploitation in 30 days, percentile 57%
public exploits
0
none known

Summary

In Tensorflow before version 2.3.1, the `RaggedCountSparseOutput` does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the `splits` tensor has the minimum required number of elements. Code uses this quantity to initialize a different data structure. Since `BatchedMap` is equivalent to a vector, it needs to have at least one element to not be `nullptr`. If user passes a `splits` tensor that is empty or has exactly one element, we get a `SIGABRT` signal raised by the operating system. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.

Patch / fix

  • pypi tensorflow 2.3.1
  • pypi tensorflow-cpu 2.3.1
  • pypi tensorflow-gpu 2.3.1
  • bitnami tensorflow 2.3.1

Exploit prediction

0.81% chance of exploitation in the next 30 days, higher than 57% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/tensorflow/tensorflow/security/advisories/GHSA-x5cp-9pcf-pp3h referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
NVD 2.0 4.3 AV:N/AC:M/Au:N/C:N/I:N/A:P
OSV 3.1 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
pypi tensorflow
>=2.3.0, <2.3.1
<2.3.1
2.3.1
pypi tensorflow-cpu
>=2.3.0, <2.3.1
<2.3.1
2.3.1
pypi tensorflow-gpu
>=2.3.0, <2.3.1
<2.3.1
2.3.1
bitnami tensorflow
>=2.3.0, <2.3.1
2.3.1

Affected products

  • tensorflow tensorflow

Classification

Weakness
  • CWE-20 Improper Input Validation

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.