CVE-2021-29534: Denial of Service in TensorFlow
Summary
CVE-2021-29534: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-gpu across 5 version ranges.
>= 2.2.0, < 2.3.0rc0
< 2.2.0rc0
>= 2.3.0, < 2.3.4
>= 2.4.0, < 2.4.3
< 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c
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-29534 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 developing and deploying machine learning models. TensorFlow is widely used in various domains, including research, industry, and academia. It supports both CPU and GPU computations, allowing for efficient training and inference on different hardware architectures.
Vulnerability Detail
The vulnerability identified as CVE-2021-29534 affects the TensorFlow package. It can be exploited by an attacker to trigger a denial of service (DoS) attack. The specific vulnerability lies in the tf.raw_ops.SparseConcat function, where a CHECK-fail can be triggered. This occurs due to the implementation using the values specified in shapes[0] as dimensions for the output shape. The TensorShape constructor, which is used in this process, employs a legacy implementation that includes a CHECK operation. This CHECK operation triggers when the InitDims function returns a non-OK status. The vulnerability can be exploited by an attacker to cause the affected TensorFlow application to crash or become unresponsive, leading to a DoS condition. The impact of this vulnerability can be severe, as it can disrupt critical machine learning processes and affect the availability of the application.
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.0rc02.2.0rc0pip install --upgrade "tensorflow-gpu==2.2.0rc0" -
>= 2.2.0, < 2.3.0rc02.3.0rc0pip install --upgrade "tensorflow-gpu==2.3.0rc0" -
>= 2.3.0, < 2.3.42.3.4pip install --upgrade "tensorflow-gpu==2.3.4" -
>= 2.4.0, < 2.4.32.4.3pip install --upgrade "tensorflow-gpu==2.4.3"
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
As a workaround, users can consider implementing input validation and sanitization mechanisms in their TensorFlow applications. By carefully validating and sanitizing the input shapes provided to the tf.raw_ops.SparseConcat function, the risk of triggering the vulnerability can be mitigated. It is important to ensure that the input shapes are within the expected range and do not contain any malicious or unexpected values. Implementing proper input validation can help prevent the exploitation of this vulnerability.
Conclusion
The vulnerability identified as CVE-2021-29534 in TensorFlow can lead to a denial of service (DoS) condition when exploited. It is crucial for users to update their TensorFlow installations to the latest available version, which includes the necessary patches to address this vulnerability. Implementing proper input validation and sanitization mechanisms can also help mitigate the risk of exploitation. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
TensorFlow is an open source platform for machine learning that provides a comprehensive set of tools and libraries for developing and deploying machine learning models.
The vulnerability can be exploited by an attacker to trigger a denial of service (DoS) attack, causing the affected TensorFlow application to crash or become unresponsive. This can disrupt critical machine learning processes and affect the availability of the application.
To fix this vulnerability, it is recommended to update the TensorFlow package to version 2.5.0 or later. The fix is included in TensorFlow 2.5.0, and patches have also been released for earlier supported versions.
As a workaround, users can implement input validation and sanitization mechanisms in their TensorFlow applications. By carefully validating and sanitizing the input shapes provided to the vulnerable function, the risk of exploitation can be mitigated.
Yes, you can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability. Vulert monitors and alerts in real-time for open-source vulnerabilities, using just the Pipfile.lock file.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.