CVE-2021-29597: TensorFlow CPU - Division by Zero Error in SpaceToBatchNd Operator
Summary
CVE-2021-29597: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-cpu 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
< 6d36ba65577006affb272335b7c1abd829010708
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-29597 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 for building and deploying machine learning models. The TensorFlow CPU package, available on PyPI, is a CPU-only version of TensorFlow that allows users to leverage machine learning capabilities on systems without GPU support.
Vulnerability Detail
The vulnerability (CVE-2021-29597) exists in the implementation of the SpaceToBatchNd TFLite operator in TensorFlow CPU. This operator is vulnerable to a division by zero error. An attacker can exploit this vulnerability by crafting a malicious model in which one dimension of the block input is set to 0, resulting in a corresponding value of 0 in block_shape. When the operator is executed with this input, a division by zero error occurs. This vulnerability can lead to application crashes, denial of service, or potential information disclosure.
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.1.42.1.4pip install --upgrade "tensorflow-cpu==2.1.4" -
>= 2.2.0, < 2.2.32.2.3pip install --upgrade "tensorflow-cpu==2.2.3" -
>= 2.3.0, < 2.3.32.3.3pip install --upgrade "tensorflow-cpu==2.3.3" -
>= 2.4.0, < 2.4.22.4.2pip install --upgrade "tensorflow-cpu==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 fix by updating to the patched versions of TensorFlow CPU.
Conclusion
The division by zero vulnerability in the SpaceToBatchNd TFLite operator of TensorFlow CPU can be exploited by an attacker to cause application crashes, denial of service, or potential information disclosure. To mitigate this vulnerability, users should update their TensorFlow CPU package to one of the fixed versions. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-cpu →
FAQ
TensorFlow is an open source platform for machine learning that provides a comprehensive ecosystem for building and deploying machine learning models.
This vulnerability can lead to application crashes, denial of service, or potential information disclosure.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability. Simply provide your Pipfile.lock and Vulert will analyze it for open-source vulnerabilities in real-time.
No, there is no known workaround for this vulnerability. It is recommended to update to the patched versions of TensorFlow CPU.
You can find more information about this vulnerability in the TensorFlow CPU advisory database at https://github.com/pypa/advisory-database/blob/main/vulns/tensorflow-cpu/PYSEC-2021-525.yaml
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-cpu.