PT-2021-18358 · Google · Tensorflow

Yakun Zhang

+1

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29607

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 Incomplete validation in SparseAdd results in allowing attackers to exploit undefined behavior, such as dereferencing null pointers and writing outside of bounds of heap allocated data. The implementation has a large set of validation for the two sparse tensor inputs but does not validate that the tensors are not empty or that the second dimension of * indices matches the size of corresponding * shape. This allows attackers to send tensor triples that represent invalid sparse tensors to abuse code assumptions that are not protected by validation.
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 disabling the SparseAdd function until a patch is available. Restrict access to the vulnerable tf.raw ops.SparseSparseMinimum API endpoint to minimize the risk of exploitation. Avoid using the a indices, a values, a shape, b indices, b values, and b shape variables in the affected API endpoint until the issue is resolved.

Exploit

Fix

Improper Check for Exceptional Conditions

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29607
CVE-2021-29607
GHSA-GV26-JPJ9-C8GQ
PYSEC-2021-244
PYSEC-2021-535
PYSEC-2021-733

Affected Products

Tensorflow