CVE-2021-29540: TensorFlow Heap Buffer Overflow in Conv2DBackpropFilter
Summary
CVE-2021-29540: 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
< c570e2ecfc822941335ad48f6e10df4e21f11c96
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-29540 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 package, specifically the Conv2DBackpropFilter function.
Vulnerability Detail
The vulnerability in TensorFlow arises from a heap buffer overflow in the Conv2DBackpropFilter function. The implementation of this function fails to validate the size of the filter tensor, leading to a buffer overflow. This can be exploited by an attacker to execute arbitrary code or cause a denial-of-service condition. The issue has been identified and fixed in TensorFlow 2.5.0, and the fix has also been backported to earlier versions.
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
There is no specific workaround provided for this vulnerability. It is recommended to apply the fix by updating to the patched versions mentioned above.
Conclusion
The vulnerability in TensorFlow's Conv2DBackpropFilter function can lead to a heap buffer overflow, allowing an attacker to execute arbitrary code or cause a denial-of-service condition. It is crucial to update TensorFlow to the fixed versions to mitigate this vulnerability. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
TensorFlow is an open source platform for machine learning that provides tools and resources for developing and deploying machine learning models.
The vulnerability can be exploited by an attacker to execute arbitrary code or cause a denial-of-service condition.
The vulnerability affects TensorFlow versions 2.1.4, 2.2.3, 2.3.3, 2.4.2, and earlier versions.
Yes, the vulnerability has been fixed in TensorFlow 2.5.0. The fix has also been backported to TensorFlow 2.4.2, 2.3.3, 2.2.3, and 2.1.4.
You can update TensorFlow by using the package manager or by manually downloading and installing the updated version from the official TensorFlow repository.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.