CVE-2021-37675: TensorFlow Division by 0 Vulnerability
Summary
CVE-2021-37675: Division by 0 in most convolution operators in TensorFlow. Affects tensorflow across 3 version ranges.
>= 2.3.0, < 2.3.4
>= 2.4.0, < 2.4.3
>= 2.5.0, < 2.5.1
Fixed in 2.3.4, 2.4.3 or 2.5.1, depending on the release line you run. How to fix ↓
Also tracked for
- tensorflow · PyPI
- tensorflow · PyPI
- tensorflow-cpu · PyPI
- tensorflow-gpu · PyPI
The same CVE-2021-37675 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 set of tools, libraries, and resources for building and deploying machine learning models. TensorFlow is widely used in various industries and research fields for tasks such as image recognition, natural language processing, and recommendation systems. However, certain versions of TensorFlow are vulnerable to a division by 0 vulnerability.
Vulnerability Detail
The division by 0 vulnerability in TensorFlow affects most implementations of convolution operators. The issue arises due to missing validations in the shape inference implementation, specifically before performing divisions and modulo operations. An attacker can exploit this vulnerability to trigger a denial of service attack, leading to a crash of the affected system. The vulnerability has been assigned the CVE identifier CVE-2021-37675 and has a severity rating of Medium.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
>= 2.3.0, < 2.3.42.3.4 -
>= 2.4.0, < 2.4.32.4.3 -
>= 2.5.0, < 2.5.12.5.1
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
No specific workaround has been provided for this vulnerability.
Conclusion
The division by 0 vulnerability in TensorFlow can be exploited by an attacker to cause a denial of service attack. It is crucial to update to the patched version (TensorFlow 2.6.0) or the cherrypicked versions (TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4) to mitigate the vulnerability. For further support on vulnerability remediation, you can contact DevNack.com.
See every vulnerability recorded for tensorflow →
FAQ
TensorFlow is an open source platform for machine learning that provides tools and resources for building and deploying machine learning models.
The vulnerability allows an attacker to trigger a denial of service attack by exploiting a division by 0 issue in TensorFlow, leading to a system crash.
The vulnerability affects TensorFlow versions 2.3.0 to 2.3.4, 2.4.0 to 2.4.3, 2.5.0, and 2.6.0-rc0 to 2.6.0-rc2.
Yes, the vulnerability has been fixed in TensorFlow commit 8a793b5d7f59e37ac7f3cd0954a750a2fe76bad4, which will be included in TensorFlow 2.6.0 and cherrypicked to earlier affected versions.
Once the patched version (TensorFlow 2.6.0) is released, you can update your TensorFlow installation by following the official upgrade instructions provided by the TensorFlow team.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.