Discover the details of CVE-2021-29588, a TensorFlow vulnerability allowing division by zero in `TransposeConv`. Learn about impact, affected versions, and mitigation steps.
TensorFlow is an end-to-end open source platform for machine learning. An attacker can exploit a vulnerability in the optimized implementation of the
TransposeConv
TFLite operator to trigger a division by zero error. Attackers can craft a malicious model to set specific values to trigger the error. The issue affects TensorFlow versions < 2.1.4, >= 2.2.0, < 2.2.3, >= 2.3.0, < 2.3.3, and >= 2.4.0, < 2.4.2. The vulnerability has a CVSS base score of 2.5 (Low severity) with high attack complexity and a low impact on availability.
Understanding CVE-2021-29588
This section dives into the details of CVE-2021-29588, covering the vulnerability, its impact, and the affected versions of TensorFlow.
What is CVE-2021-29588?
CVE-2021-29588 is a vulnerability found in TensorFlow's implementation of the
TransposeConv
TFLite operator that allows attackers to perform a division by zero error by manipulating specific values in a crafted model.
The Impact of CVE-2021-29588
The vulnerability poses a low severity risk, with a CVSS base score of 2.5. While it requires low privileges from the attacker, the attack complexity is high. The integrity and confidentiality of the system are not impacted.
Technical Details of CVE-2021-29588
This section covers the technical aspects of the CVE, including the vulnerability description, affected systems, and exploitation mechanism.
Vulnerability Description
The vulnerability arises due to improper validation of arguments in the
TransposeConv
TFLite operator, allowing for a division by zero error under specific conditions.
Affected Systems and Versions
TensorFlow versions affected by this vulnerability include < 2.1.4, >= 2.2.0, < 2.2.3, >= 2.3.0, < 2.3.3, and >= 2.4.0, < 2.4.2.
Exploitation Mechanism
An attacker can exploit this vulnerability by creating a specially crafted model with
stride_{h,w}
values set to 0, triggering the division by zero error.
Mitigation and Prevention
Learn how to protect your systems against the CVE-2021-29588 vulnerability and steps to take for immediate and long-term security.
Immediate Steps to Take
Ensure all TensorFlow instances are updated to versions where the fix is included, such as TensorFlow 2.5.0 or the patched versions of 2.4.2, 2.3.3, 2.2.3, and 2.1.4.
Long-Term Security Practices
Implement regular security updates and best practices in secure software development to prevent and mitigate similar vulnerabilities in the future.
Patching and Updates
Stay informed about security advisories and patches released by TensorFlow to address known vulnerabilities and protect your systems effectively.