PT-2021-18284 · Google · Tensorflow

Yakun Zhang

+1

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29533

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: An attacker can trigger a denial of service via a CHECK failure by passing an empty image to tf.raw ops.DrawBoundingBoxes. This is because the implementation uses CHECK * assertions instead of OP REQUIRES to validate user-controlled inputs. The CHECK * macros result in a crash if the condition is false, similar to assert. In this case, height is 0 from the images input, resulting in max box row clamp being negative and the assertion being falsified, followed by aborting program execution.
Recommendations: For TensorFlow versions prior to 2.5.0, update to version 2.5.0 or later. For TensorFlow version 2.4.2, update to a patched version that includes the fix. For TensorFlow version 2.3.3, update to a patched version that includes the fix. For TensorFlow version 2.2.3, update to a patched version that includes the fix. For TensorFlow version 2.1.4, update to a patched version that includes the fix. As a temporary workaround, consider avoiding the use of tf.raw ops.DrawBoundingBoxes with empty images until a patch is available.

Exploit

Fix

Improper Check for Exceptional Conditions

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29533
CVE-2021-29533
GHSA-393F-2JR3-CP69
PYSEC-2021-170
PYSEC-2021-461
PYSEC-2021-659

Affected Products

Tensorflow