PT-2021-18339 · Google · Tensorflow

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29588

CVSS v3.1

7.8

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions TensorFlow versions prior to 2.5.0 TensorFlow versions 2.4.2 and earlier TensorFlow versions 2.3.3 and earlier TensorFlow versions 2.2.3 and earlier TensorFlow versions 2.1.4 and earlier
Description The optimized implementation of the TransposeConv TFLite operator is vulnerable to a division by zero error. An attacker can craft a model such that stride {h,w} values are 0. Code calling this function must validate these arguments.
Recommendations For TensorFlow versions prior to 2.5.0, update to version 2.5.0 or later. For TensorFlow versions 2.4.2 and earlier, update to version 2.4.2 or later, or apply the patch from GitHub commit 801c1c6be5324219689c98e1bd3e0ca365ee834d. For TensorFlow versions 2.3.3 and earlier, update to version 2.3.3 or later, or apply the patch from GitHub commit 801c1c6be5324219689c98e1bd3e0ca365ee834d. For TensorFlow versions 2.2.3 and earlier, update to version 2.2.3 or later, or apply the patch from GitHub commit 801c1c6be5324219689c98e1bd3e0ca365ee834d. For TensorFlow versions 2.1.4 and earlier, update to version 2.1.4 or later, or apply the patch from GitHub commit 801c1c6be5324219689c98e1bd3e0ca365ee834d. As a temporary workaround, consider validating the stride {h,w} values in the TransposeConv TFLite operator to prevent division by zero errors.

Exploit

Fix

Divide By Zero

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29588
CVE-2021-29588
GHSA-VFR4-X8J2-3RF9
PYSEC-2021-225
PYSEC-2021-516
PYSEC-2021-714

Affected Products

Tensorflow