CVE-2020-15194: TensorFlow-GPU - Incomplete Validation of Arguments in SparseFillEmptyRowsGrad
Summary
CVE-2020-15194: In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the SparseFillEmptyRowsGrad implementation has incomplete validation of the shapes of its arguments. Affects tensorflow-gpu across 6 version ranges.
< 1.15.4
>= 2.0.0, < 2.0.3
>= 2.1.0, < 2.1.2
>= 2.2.0, < 2.2.1
>= 2.3.0, < 2.3.1
< 390611e0d45c5793c7066110af37c8514e6a6c54
Fixed in 5 releases; the minimum fixed version depends 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-15194 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 an open-source machine learning framework developed by Google. It provides a comprehensive ecosystem of tools, libraries, and resources for building and deploying machine learning models. TensorFlow-GPU utilizes the power of GPUs to accelerate the training and inference processes, making it suitable for large-scale deep learning applications. However, a vulnerability has been discovered in versions before 1.15.4, 2.0.3, 2.1.2, 2.2.1, and 2.3.1 of TensorFlow-GPU.
Vulnerability Detail
The vulnerability, identified as CVE-2020-15194, resides in the SparseFillEmptyRowsGrad implementation of TensorFlow-GPU. This implementation lacks complete validation of the shapes of its arguments. While reverse_index_map_t and grad_values_t are accessed in a similar pattern, only reverse_index_map_t is properly validated for its shape. This oversight allows malicious users to pass a malformed grad_values_t argument, triggering an assertion failure in vec. As a result, serving installations of TensorFlow-GPU can be disrupted, leading to a denial of service (DoS) condition. The vulnerability has been patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54 and is addressed in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 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.
-
< 1.15.41.15.4pip install --upgrade "tensorflow-gpu==1.15.4" -
>= 2.0.0, < 2.0.32.0.3pip install --upgrade "tensorflow-gpu==2.0.3" -
>= 2.1.0, < 2.1.22.1.2pip install --upgrade "tensorflow-gpu==2.1.2" -
>= 2.2.0, < 2.2.12.2.1pip install --upgrade "tensorflow-gpu==2.2.1" -
>= 2.3.0, < 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
No workaround has been provided for this vulnerability. It is strongly advised to apply the patch or update to the latest patched version of TensorFlow-GPU as soon as possible.
Conclusion
In conclusion, the vulnerability (CVE-2020-15194) in TensorFlow-GPU's SparseFillEmptyRowsGrad implementation poses a risk of denial of service (DoS) attacks on serving installations. It is crucial to update TensorFlow-GPU to one of the patched versions (1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1) to mitigate this vulnerability. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
TensorFlow-GPU is an open-source machine learning framework developed by Google. It leverages the power of GPUs to accelerate the training and inference processes for machine learning models.
The vulnerability in TensorFlow-GPU can be exploited by malicious users to trigger a denial of service (DoS) condition in serving installations. This can disrupt the availability of TensorFlow-GPU and impact the functionality of machine learning applications relying on it.
You can use the Vulert Playground at Vulert Scanner to check if your TensorFlow-GPU installation is affected by this vulnerability. Simply provide your Pipfile.lock file, and Vulert will analyze it for any open-source vulnerabilities, including this one.
No workaround has been provided for this vulnerability. It is recommended to apply the patch or update to the latest patched version of TensorFlow-GPU to mitigate the risk.
For more information about this vulnerability, you can refer to the official GitHub advisory database for TensorFlow-GPU at https://github.com/pypa/advisory-database/blob/main/vulns/tensorflow-gpu/PYSEC-2020-309.yaml.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.