Heap buffer overflow in `UnsortedSegmentSum` in TensorFlow
Low2.6CVE-2019-16778 · Published Dec 16, 2019 · updated Jul 8, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| tensorflow PyPI | < 1.15.0 | 1.15.0 |
Details and references
### Impact 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. We are making the security advisory only to notify users that it is better to update to TensorFlow 1.15 or 2.0 or later as these versions already have this fixed. ### Patches Patched by db4f9717c41bccc3ce10099ab61996b246099892 and released in all official releases after 1.15 and 2.0. ### For more information Please consult [`SECURITY.md`](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:L
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-122, CWE-681
- Also known as
- CVE-2019-16778, PYSEC-2019-209, PYSEC-2019-227, PYSEC-2019-234
- github.com/tensorflow/tensorflow/security/advisories/GHSA-844w-j86r-4x2j
- nvd.nist.gov/vuln/detail/CVE-2019-16778
- github.com/tensorflow/tensorflow/commit/db4f9717c41bccc3ce10099ab61996b246099892
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2019-227.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2019-234.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2019-209.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2019-002.md
More TensorFlow advisories
All TensorFlow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jan 282020 | Segmentation faultin TensorFlow when converting a Python string to `tf.float16` CVE-2020-5215Low5.0fixed in 1.15.2, 2.0.1 | Low5.0 | 1.15.2, 2.0.1 |
| May 132020 | Out-of-bounds read in TensorFlow possibly causing disclosure of the contents of process memory. CVE-2018-21233High6.5fixed in 1.7.0 | High6.5 | 1.7.0 |
| Apr 302019 | Improper Input Validation in Google TensorFlow CVE-2018-7577High8.1fixed in 1.7.1 | High8.1 | 1.7.1 |
| Apr 302019 | Improper Restriction of Operations within the Bounds of a Memory Buffer in Google TensorFlow CVE-2018-10055High8.1fixed in 1.7.1 | High8.1 | 1.7.1 |
| Apr 302019 | NULL Pointer Dereference in Google TensorFlow CVE-2019-9635High6.5fixed in 1.12.1 | High6.5 | 1.12.1 |
| Apr 302019 | Integer Overflow or Wraparound in Google TensorFlow CVE-2018-7575Critical9.8fixed in 1.7.1 | Critical9.8 | 1.7.1 |