Skip to content
TensorFlowGHSA-9rpc-5v9q-5r7f

Incomplete validation in `SparseReshape`

Low3.6CVE-2021-29611 · Published May 21, 2021 · updated Jul 8, 2026

### Impact Incomplete validation in `SparseReshape` results in a denial of service based on a `CHECK`-failure. ```python import tensorflow as tf input_indices = tf.constant(41, shape=[1, 1], dtype=tf.int64) input_shape = tf.zeros([11], dtype=tf.int64) new_shape = tf.zeros([1], dtype=tf.int64) tf.raw_ops.SparseReshape(input_indices=input_indices, input_shape=input_shape, new_shape=new_shape) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob/e87b51ce05c3eb172065a6ea5f48415854223285/tensorflow/core/kernels/sparse_reshape_op.cc#L40) has no validation that the input arguments specify a valid sparse tensor. ### Patches We have patched the issue in GitHub commit [1d04d7d93f4ed3854abf75d6b712d72c3f70d6b6](https://github.com/tensorflow/tensorflow/commit/1d04d7d93f4ed3854abf75d6b712d72c3f70d6b6). The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3, as these are the only affected versions. ### For more information Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us wi...

GitHub advisory

Affected versions

PackageAffectedFixed in
tensorflow
PyPI
>= 2.3.0, < 2.3.32.3.3
>= 2.4.0, < 2.4.22.4.2
Details and references

### Impact Incomplete validation in `SparseReshape` results in a denial of service based on a `CHECK`-failure. ```python import tensorflow as tf input_indices = tf.constant(41, shape=[1, 1], dtype=tf.int64) input_shape = tf.zeros([11], dtype=tf.int64) new_shape = tf.zeros([1], dtype=tf.int64) tf.raw_ops.SparseReshape(input_indices=input_indices, input_shape=input_shape, new_shape=new_shape) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob/e87b51ce05c3eb172065a6ea5f48415854223285/tensorflow/core/kernels/sparse_reshape_op.cc#L40) has no validation that the input arguments specify a valid sparse tensor. ### Patches We have patched the issue in GitHub commit [1d04d7d93f4ed3854abf75d6b712d72c3f70d6b6](https://github.com/tensorflow/tensorflow/commit/1d04d7d93f4ed3854abf75d6b712d72c3f70d6b6). The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3, as these are the only affected versions. ### For more information Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions. ### Attribution This vulnerability has been reported by Ying Wang and Yakun Zhang of Baidu X-Team.

CVSS 3.1
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L
Severity from
GitHub (reviewed advisory)
Weakness
CWE-20, CWE-665
Also known as
BIT-tensorflow-2021-29611, CVE-2021-29611, PYSEC-2021-248, PYSEC-2021-539, PYSEC-2021-737

More TensorFlow advisories

All TensorFlow
Advisory
Segfault in `tf.raw_ops.SparseCountSparseOutput`
Low2.5May 21, 2021
Crash in `tf.transpose` with complex inputs
Low2.5May 21, 2021
Crash in `tf.strings.substr` due to `CHECK`-fail
Low2.5May 21, 2021
Null dereference in Grappler's `TrySimplify`
Low2.5May 21, 2021
Stack overflow in `ParseAttrValue` with nested tensors
Low2.5May 21, 2021
Interpreter crash from `tf.io.decode_raw`
Medium7.1May 21, 2021

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.