CVE-2021-37652: TensorFlow CPU - Use After Free Vulnerability
Summary
CVE-2021-37652: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-cpu across 3 version ranges.
>= 2.3.0, < 2.3.4
>= 2.4.0, < 2.4.3
< 5ecec9c6fbdbc6be03295685190a45e7eee726ab
Fixed in 2.3.4 or 2.4.3, depending 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-37652 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. The vulnerability described here affects the TensorFlow CPU package, which is a Python package for running TensorFlow on CPUs. This package is commonly used when GPU acceleration is not available or required.
Vulnerability Detail
The vulnerability identified as CVE-2021-37652 is a use after free vulnerability in the TensorFlow CPU package. Specifically, the vulnerability resides in the implementation of the tf.raw_ops.BoostedTreesCreateEnsemble function. An attacker can exploit this vulnerability by supplying specially crafted arguments to the function. The vulnerable code can be found in the resource_ops.cc file of the TensorFlow source code. The issue arises due to a change in the representation of a reference counted resource from a naked pointer to a smart pointer. As a result, when the pointer leaves the scope, a double-free occurs, leading to a use after free error. This can potentially allow an attacker to execute arbitrary code or cause 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.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 specific workaround mentioned for this vulnerability. However, users can mitigate the risk by following general security best practices, such as ensuring the integrity of the software supply chain, practicing least privilege, and implementing strong access controls. Regularly monitoring for security updates and promptly applying them is also recommended.
Conclusion
The use after free vulnerability in the TensorFlow CPU package (CVE-2021-37652) has been identified and patched. Users are advised to update their TensorFlow CPU package to the patched versions once they are released. Regularly updating software packages and following security best practices can help mitigate the risk of such vulnerabilities. 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 tools, libraries, and resources for developing and deploying machine learning models.
The TensorFlow CPU package is a Python package that allows running TensorFlow on CPUs. It is commonly used when GPU acceleration is not available or required.
A use after free vulnerability occurs when a program continues to use a memory region after it has been freed. This can lead to various security issues, including crashes, data corruption, and potential execution of arbitrary code.
An attacker can exploit this vulnerability by supplying specially crafted arguments to the tf.raw_ops.BoostedTreesCreateEnsemble function in the TensorFlow CPU package.
Yes, the vulnerability has been patched in the TensorFlow source code. The fix will be included in the upcoming TensorFlow 2.6.0 release, and it will also be backported to earlier affected versions.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-cpu.