PT-2021-18331 · Google · Tensorflow

Yakun Zhang

+1

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29580

CVSS v3.1

5.5

Medium

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions TensorFlow versions prior to 2.5.0 TensorFlow version 2.4.2 TensorFlow version 2.3.3 TensorFlow version 2.2.3 TensorFlow version 2.1.4
Description The implementation of tf.raw ops.FractionalMaxPoolGrad triggers an undefined behavior if one of the input tensors is empty. The code is also vulnerable to a denial of service attack as a CHECK condition becomes false and aborts the process. The implementation fails to validate that input and output tensors are not empty and are of the same rank. Each of these unchecked assumptions is responsible for the above issues.
Recommendations For versions prior to 2.5.0, update to TensorFlow 2.5.0 or later. For version 2.4.2, cherrypick the commit to fix the issue. For version 2.3.3, cherrypick the commit to fix the issue. For version 2.2.3, cherrypick the commit to fix the issue. For version 2.1.4, cherrypick the commit to fix the issue. As a temporary workaround, consider disabling the tf.raw ops.FractionalMaxPoolGrad function until a patch is available.

Exploit

Fix

Use of Uninitialized Resource

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29580
CVE-2021-29580
GHSA-X8H6-XGQX-JQGP
PYSEC-2021-217
PYSEC-2021-508
PYSEC-2021-706

Affected Products

Tensorflow