CVE-2021-29552: Denial of Service in TensorFlow
Summary
CVE-2021-29552: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-cpu 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
< 704866eabe03a9aeda044ec91a8d0c83fc1ebdbe
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-gpu · PyPI
The same CVE-2021-29552 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 is widely used in various industries and research domains for tasks such as image recognition, natural language processing, and recommendation systems.
Vulnerability Detail
The vulnerability (CVE-2021-29552) in TensorFlow allows an attacker to cause a denial of service by controlling the values of the num_segments tensor argument for the UnsortedSegmentJoin function. The implementation assumes that the num_segments tensor is a valid scalar, but if the tensor is empty, the check for the number of elements being exactly 1 will be invalidated, leading to process termination. This vulnerability can be exploited remotely by an attacker with the ability to control the input to the affected function. The impact of this vulnerability is a complete disruption of the TensorFlow process, resulting in a denial of service.
How To Fix
Latest published version: 2.21.0 as of 22 Oct 2026
pip install --upgrade "tensorflow-cpu==2.21.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-cpu==2.2.0rc0" -
>= 2.2.0, < 2.3.0rc02.3.0rc0pip install --upgrade "tensorflow-cpu==2.3.0rc0" -
>= 2.3.0, < 2.3.42.3.4pip install --upgrade "tensorflow-cpu==2.3.4" -
>= 2.4.0, < 2.4.32.4.3pip install --upgrade "tensorflow-cpu==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
There is no known workaround for this vulnerability. It is recommended to apply the fix by upgrading to the patched versions of TensorFlow.
Conclusion
The vulnerability (CVE-2021-29552) in TensorFlow can be exploited to cause a denial of service by controlling the values of a tensor argument. Upgrading to the patched versions of TensorFlow or applying the backported fixes is necessary to mitigate this vulnerability. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for tensorflow-cpu →
FAQ
TensorFlow is an open source platform for machine learning that provides tools and libraries for building and deploying machine learning models.
The vulnerability allows an attacker to cause a denial of service by controlling the values of a tensor argument, resulting in the termination of the TensorFlow process.
To fix this vulnerability, upgrade your TensorFlow installation to version 2.5.0 or later, or apply the backported fixes for versions 2.4.2, 2.3.3, 2.2.3, or 2.1.4.
No, there is no known workaround for this vulnerability. It is recommended to apply the fix by upgrading to the patched versions of TensorFlow.
Yes, this vulnerability can be exploited remotely by an attacker with the ability to control the input to the affected function.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-cpu.