CVE-2021-37652: TensorFlow CPU - Use After Free Vulnerability

tensorflow-cpu Updated 02 Oct 2025

Summary

12/08/2021
Yes i
Unrated
Not published

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

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.

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

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.4 2.3.4
    pip install --upgrade "tensorflow-cpu==2.3.4"
  • >= 2.4.0, < 2.4.3 2.4.3
    pip 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 →

Share this vulnerability

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.

Related vulnerabilities

Recent vulnerabilities recorded for tensorflow-cpu.

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.4 2.3.4
    pip install --upgrade "tensorflow-cpu==2.3.4"
  • >= 2.4.0, < 2.4.3 2.4.3
    pip 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 →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback