PT-2021-18298 · Google · Tensorflow

Yakun Zhang

+1

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29547

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 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 An attacker can cause a segfault and denial of service via accessing data outside of bounds in tf.raw ops.QuantizedBatchNormWithGlobalNormalization. This is because the implementation assumes the inputs are not empty. If any of these inputs is empty, .flat<T>() is an empty buffer, so accessing the element at index 0 is accessing data outside of bounds.
Recommendations For versions prior to 2.5.0, update to TensorFlow 2.5.0 or later. For versions 2.4.2 and earlier, update to TensorFlow 2.4.2 or later. For versions 2.3.3 and earlier, update to TensorFlow 2.3.3 or later. For versions 2.2.3 and earlier, update to TensorFlow 2.2.3 or later. For versions 2.1.4 and earlier, update to TensorFlow 2.1.4 or later. As a temporary workaround, consider avoiding the use of tf.raw ops.QuantizedBatchNormWithGlobalNormalization with empty inputs until a patch is available.

Exploit

Fix

Out of bounds Read

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29547
CVE-2021-29547
GHSA-4FG4-P75J-W5XJ
PYSEC-2021-184
PYSEC-2021-475
PYSEC-2021-673

Affected Products

Tensorflow