PT-2021-18264 · Google · Tensorflow

·

CVE-2021-29513

·

Published

2021-05-14

·

Updated

2024-03-06

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 version 2.4.2 TensorFlow version 2.3.3 TensorFlow version 2.2.3 TensorFlow version 2.1.4
Description: The issue arises when calling TF operations with tensors of non-numeric types, resulting in null pointer dereferences. This occurs due to a type confusion in the conversion from Python array to C++ array. The estimated number of potentially affected devices is not provided. There is no information about real-world incidents where this issue was exploited.
Technical details about exploitation include:
  • The conversion from Python array to C++ array is vulnerable to a type confusion.
  • The pyarray type is NPY VOID but the descr field is such that descr->field = NULL, triggering a null dereference in PyArrayDescr to TF DataType.
  • API endpoints and variables are not explicitly mentioned, but the issue involves the use of tf.random.truncated normal, tf.random.stateless truncated normal, tf.one hot, tf.range, and tf.raw ops.ResourceCountUpTo functions.
Recommendations:
  • For TensorFlow version 2.1.4, update to a newer version that includes the fix.
  • For TensorFlow version 2.2.3, update to a newer version that includes the fix.
  • For TensorFlow version 2.3.3, update to a newer version that includes the fix.
  • For TensorFlow version 2.4.2, update to a newer version that includes the fix.
  • For versions prior to 2.5.0, update to version 2.5.0 or later to resolve the issue. As a temporary workaround, consider avoiding the use of non-numeric tensors with TF operations until a patch is available. Restrict access to the vulnerable conversion function to minimize the risk of exploitation.

Exploit

Fix

NULL Pointer Dereference

Type Confusion

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29513
CVE-2021-29513
GHSA-452G-F7FP-9JF7
PYSEC-2021-150
PYSEC-2021-441
PYSEC-2021-639

Affected Products

Tensorflow