Skip to content
TensorFlowGHSA-q8qj-fc9q-cphr

Undefined behavior in Tensorflow

Medium5.3CVE-2020-15191 · Published Sep 25, 2020 · updated Jul 8, 2026

### Impact If a user passes an invalid argument to `dlpack.to_dlpack` the expected validations will cause variables to bind to `nullptr` while setting a `status` variable to the error condition. However, this `status` argument is not properly checked: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L265-L267 Hence, code following these methods will bind references to null pointers: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L279-L285 This is undefined behavior and reported as an error if compiling with `-fsanitize=null`. ### Patches We have patched the issue in 22e07fb204386768e5bcbea563641ea11f96ceb8 and will release a patch release for all affected versions. We recommend users to upgrade to TensorFlow 2.2.1 or 2.3.1. ### For more information Please consult [our security guide](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. ### Attribution This vulnerability has been discovered during variant analysis of [GHSA-rjjg-hgv6...

GitHub advisory

Affected versions

PackageAffectedFixed in
tensorflow
PyPI
>= 2.2.0, < 2.2.12.2.1
>= 2.3.0, < 2.3.12.3.1
Details and references

### Impact If a user passes an invalid argument to `dlpack.to_dlpack` the expected validations will cause variables to bind to `nullptr` while setting a `status` variable to the error condition. However, this `status` argument is not properly checked: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L265-L267 Hence, code following these methods will bind references to null pointers: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L279-L285 This is undefined behavior and reported as an error if compiling with `-fsanitize=null`. ### Patches We have patched the issue in 22e07fb204386768e5bcbea563641ea11f96ceb8 and will release a patch release for all affected versions. We recommend users to upgrade to TensorFlow 2.2.1 or 2.3.1. ### For more information Please consult [our security guide](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. ### Attribution This vulnerability has been discovered during variant analysis of [GHSA-rjjg-hgv6-h69v](https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rjjg-hgv6-h69v).

CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Severity from
GitHub (reviewed advisory)
Weakness
CWE-20, CWE-252, CWE-476
Also known as
BIT-tensorflow-2020-15191, CVE-2020-15191, PYSEC-2020-114, PYSEC-2020-271, PYSEC-2020-306

More TensorFlow advisories

All TensorFlow
Advisory
Out of bounds access in tensorflow-lite
Critical8.1Sep 25, 2020
Out of bounds write in tensorflow-lite
Critical8.1Sep 25, 2020
Denial of service in tensorflow-lite
Medium4.0Sep 25, 2020
Segmentation fault in tensorflow-lite
High6.5Sep 25, 2020
Out of bounds access in tensorflow-lite
Medium4.8Sep 25, 2020
Null pointer dereference in tensorflow-lite
High5.9Sep 25, 2020

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.