PT-2021-18360 · Google · Tensorflow

Yakun Zhang

+1

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29609

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.1.4 through 2.4.2
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 TensorFlow versions prior to 2.1.4, there is no information about a newer version that contains a fix for this vulnerability. For TensorFlow versions 2.1.4 through 2.4.2, update to version 2.5.0 or later to resolve the issue. As a temporary workaround, consider disabling the SparseAdd function until a patch is available. Restrict access to the vulnerable SparseAdd module to minimize the risk of exploitation. Avoid using the * indices and * shape variables in the affected API endpoint until the issue is resolved.

Exploit

Memory Corruption

Improper Initialization

NULL Pointer Dereference

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29609
CVE-2021-29609
GHSA-CJC7-49V2-JP64
PYSEC-2021-246
PYSEC-2021-537
PYSEC-2021-735

Affected Products

Tensorflow