CVE-2021-41197: TensorFlow GPU - Integer Overflow Vulnerability
Summary
CVE-2021-41197: TensorFlow is an open source platform for machine learning. Affects tensorflow-gpu across 7 version ranges.
< 2.4.4
>= 2.5.0, < 2.5.2
>= 2.6.0, < 2.6.1
>= 2.7.0rc0, < 2.7.0
< 7c1692bd417eb4f9b33ead749a41166d6080af85
< a871989d7b6c18cdebf2fb4f0e5c5b62fbc19edf
< d81b1351da3e8c884ff836b64458d94e4a157c15
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-41197 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 open source platform for machine learning. It provides a comprehensive ecosystem of tools, libraries, and resources for developing and deploying machine learning models. TensorFlow allows tensors to have a large number of dimensions, with each dimension capable of being as large as desired. However, there is a vulnerability in TensorFlow versions prior to 2.7.0 that allows an integer overflow to occur when the total number of elements in a tensor exceeds the maximum value that can be represented by an int64_t. This vulnerability is similar to CVE-2021-29584. The issue has been identified and fixed in TensorFlow 2.7.0, and the fix has also been backported to TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4.
Vulnerability Detail
The vulnerability in TensorFlow arises when the total number of elements in a tensor exceeds the maximum value that can be represented by an int64_t. This can lead to an integer overflow, causing the MultiplyWithoutOverflow function to return a negative result. In most cases, this results in a CHECK-failure, leading to a crash in the TensorFlow binary. However, newer constructs have been introduced that return a Status instead of crashing the binary. The impact of this vulnerability can vary depending on the specific usage of TensorFlow in an application. If an application relies on TensorFlow for critical operations and encounters this vulnerability, it may lead to unexpected crashes or incorrect results.
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.4.42.4.4pip install --upgrade "tensorflow-gpu==2.4.4" -
>= 2.5.0, < 2.5.22.5.2pip install --upgrade "tensorflow-gpu==2.5.2" -
>= 2.6.0, < 2.6.12.6.1pip install --upgrade "tensorflow-gpu==2.6.1" -
>= 2.7.0rc0, < 2.7.02.7.0pip install --upgrade "tensorflow-gpu==2.7.0"
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.
Conclusion
The vulnerability in TensorFlow GPU versions prior to 2.7.0 allows for an integer overflow to occur when the total number of elements in a tensor exceeds the maximum value that can be represented by an int64_t. This can lead to crashes or incorrect results in applications relying on TensorFlow for critical operations. It is recommended to update TensorFlow to the latest version to mitigate this vulnerability. For further support on vulnerability remediation, please contact 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.
An integer overflow occurs when the result of an arithmetic operation exceeds the maximum value that can be represented by the data type used to store the result. In the case of this vulnerability, an integer overflow occurs when the total number of elements in a tensor exceeds the maximum value that can be represented by an int64_t.
The impact of this vulnerability can vary depending on the specific usage of TensorFlow in an application. If an application relies on TensorFlow for critical operations and encounters this vulnerability, it may lead to unexpected crashes or incorrect results.
To fix this vulnerability, it is recommended to update TensorFlow to version 2.7.0. The fix has also been backported to TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4. Users can update their TensorFlow installation by following the official upgrade instructions provided by the TensorFlow project.
There is no specific workaround mentioned for this vulnerability.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.