CVE-2019-16778 json
Heap buffer overflow in `UnsortedSegmentSum` in TensorFlow
published 2019-12-16 6 y ago modified 2026-07-08 4 mo ago also GHSA-844w-j86r-4x2j , PYSEC-2019-209 , PYSEC-2019-227 , PYSEC-2019-234 , EUVD-2019-0142
- cvss
- 2.6
- 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 56%
- public exploits
- 0
- none known
Summary
In TensorFlow before 1.15, a heap buffer overflow in UnsortedSegmentSum can be produced when the Index template argument is int32. In this case data_size and num_segments fields are truncated from int64 to int32 and can produce negative numbers, resulting in accessing out of bounds heap memory. This is unlikely to be exploitable and was detected and fixed internally in TensorFlow 1.15 and 2.0.
Patch / fix
- pypi tensorflow 1.15.0
- pypi tensorflow-cpu 1.15.0
- pypi tensorflow-gpu 1.15.0
- tensorflow tensorflow 1.15
Exploit prediction
0.79% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 2.6 | CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 2.6 | CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | tensorflow | <1.15.0 >=1.0.0, <1.15.0 |
1.15.0 |
| pypi | tensorflow-cpu | <1.15.0 >=1.0.0, <1.15.0 |
1.15.0 |
| pypi | tensorflow-gpu | <1.15.0 >=1.0.0, <1.15.0 |
1.15.0 |
Affected products
- tensorflow tensorflow
Classification
References
-
github.com
/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892
web, patch
-
github.com
/tensorflow/tensorflow/security/advisories/GHSA-844w-j86r-4x2j
web, patch, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2019-002.md
web, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2019-16778
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2019-227.yaml
web
-
github.com
/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2019-234.yaml
web
-
github.com
/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2019-209.yaml
web
-
github.com
/tensorflow/tensorflow
package
Sources
- CVE List CVE-2019-16778
- GitHub Advisory GHSA-844w-j86r-4x2j
- NVD CVE-2019-16778
- OSV PYSEC-2019-209
- OSV PYSEC-2019-234
- OSV PYSEC-2019-227
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.