CVE-2021-29570: TensorFlow GPU - Out-of-Bounds Read in MaxPoolGradWithArgmax
Summary
CVE-2021-29570: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-gpu across 5 version ranges.
< 2.1.4
>= 2.2.0, < 2.2.3
>= 2.3.0, < 2.3.3
>= 2.4.0, < 2.4.2
< dcd7867de0fea4b72a2b34bd41eb74548dc23886
Fixed in 4 releases; the minimum fixed version depends on the release line you run. How to fix ↓
Also tracked for
- tensorflow · Bitnami
- tensorflow · PyPI
- tensorflow · PyPI
- tensorflow-cpu · PyPI
The same CVE-2021-29570 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 is an end-to-end open source platform for machine learning. It provides a comprehensive ecosystem of tools, libraries, and resources for building and deploying machine learning models. TensorFlow GPU is a variant of TensorFlow that leverages GPU acceleration for faster computation. It is widely used in various industries and research domains for training and inference of deep learning models.
Vulnerability Detail
The vulnerability (CVE-2021-29570) exists in the implementation of tf.raw_ops.MaxPoolGradWithArgmax in TensorFlow GPU. It can be exploited by an attacker who supplies specially crafted inputs to cause reads outside the bounds of heap allocated data. The vulnerable code can be found in the maxpooling_op.cc file of the TensorFlow source code. The issue arises from using the same value to index two different arrays without ensuring that their sizes are identical. This can lead to accessing memory beyond the allocated boundaries, potentially resulting in information disclosure or arbitrary code execution. The vulnerability affects versions of TensorFlow GPU up to and including 2.4.2.
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.1.42.1.4pip install --upgrade "tensorflow-gpu==2.1.4" -
>= 2.2.0, < 2.2.32.2.3pip install --upgrade "tensorflow-gpu==2.2.3" -
>= 2.3.0, < 2.3.32.3.3pip install --upgrade "tensorflow-gpu==2.3.3" -
>= 2.4.0, < 2.4.22.4.2pip install --upgrade "tensorflow-gpu==2.4.2"
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 known workaround for this vulnerability. It is recommended to apply the official fix by upgrading to a patched version of TensorFlow GPU.
Conclusion
The vulnerability (CVE-2021-29570) in TensorFlow GPU's tf.raw_ops.MaxPoolGradWithArgmax function can lead to out-of-bounds reads and potential security risks. It is crucial for users of TensorFlow GPU to update their installations to a patched version, such as TensorFlow 2.5.0 or the backported fixes for older versions. By doing so, they can ensure the security and integrity of their machine learning workflows. For further assistance or support in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
TensorFlow GPU is a variant of TensorFlow that utilizes GPU acceleration for faster computation of machine learning models.
The vulnerability can allow an attacker to read data outside the bounds of allocated memory, potentially leading to information disclosure or arbitrary code execution.
Versions of TensorFlow GPU up to and including 2.4.2 are affected by this vulnerability.
No, there is no known workaround for this vulnerability. It is recommended to upgrade to a patched version of TensorFlow GPU.
To fix this vulnerability, upgrade your TensorFlow GPU installation to version 2.5.0 or later. Alternatively, you can update to one of the backported fixes available for versions 2.4.2, 2.3.3, 2.2.3, or 2.1.4.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.