CVE-2020-15191: TensorFlow GPU - Invalid Argument in dlpack.to_dlpack
Summary
CVE-2020-15191: In Tensorflow before versions 2.2.1 and 2.3.1, 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 condit... Affects tensorflow-gpu across 3 version ranges.
< 2.2.1
>= 2.3.0rc0, < 2.3.1
< 22e07fb204386768e5bcbea563641ea11f96ceb8
Fixed in 2.2.1 or 2.3.1, depending on the release line you run. How to fix ↓
Also tracked for
- tensorflow · Bitnami
- tensorflow · PyPI
- tensorflow-cpu · PyPI
- tensorflow · PyPI
The same CVE-2020-15191 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
TensorFlow GPU is a Python package that provides GPU support for TensorFlow, an open-source machine learning framework. It allows users to leverage the power of GPUs for accelerated computation in deep learning tasks. TensorFlow GPU is widely used in various industries and research fields.
Vulnerability Detail
The vulnerability (CVE-2020-15191) exists in versions of TensorFlow GPU before 2.2.1 and 2.3.1. When an invalid argument is passed to the dlpack.to_dlpack function, the expected validations cause variables to bind to nullptr while setting a status variable to the error condition. However, the status argument is not properly checked, leading to code that binds references to null pointers. This results in undefined behavior and can trigger errors when compiling with -fsanitize=null. The issue has been patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is included in TensorFlow versions 2.2.1 and 2.3.1.
How To Fix
Latest published version: 2.12.0 as of 22 Oct 2026
pip install --upgrade "tensorflow-gpu==2.12.0"
Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.
If you can't move to the latest
The minimum fixed version depends on the release line you run.
-
< 2.2.12.2.1pip install --upgrade "tensorflow-gpu==2.2.1" -
>= 2.3.0rc0, < 2.3.12.3.1pip install --upgrade "tensorflow-gpu==2.3.1"
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
There is no specific workaround mentioned for this vulnerability. Updating to the patched versions is the recommended solution.
Conclusion
The vulnerability (CVE-2020-15191) in TensorFlow GPU before versions 2.2.1 and 2.3.1 can lead to undefined behavior and errors when compiling with -fsanitize=null. It is recommended to update the TensorFlow GPU package to version 2.2.1 or 2.3.1 to fix the vulnerability. No specific workaround is mentioned. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
The vulnerability can lead to undefined behavior and errors when compiling with -fsanitize=null. It may cause code to bind references to null pointers, potentially resulting in crashes or other unexpected behavior.
You can use the Vulert Playground at Vulert Scanner to check if your application is affected by this vulnerability. Simply provide your Pipfile.lock file, and Vulert will analyze it in real-time.
No, only versions before 2.2.1 and 2.3.1 are affected. Updating to these patched versions will resolve the vulnerability.
There is no known exploit for this vulnerability at the moment. However, it is recommended to update to the patched versions to mitigate any potential risks.
Recompilation is not necessary after updating TensorFlow GPU. Simply updating the package to the patched versions should be sufficient.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.