Skip to content
OpenAdvisories
Low · 2.5 CVE-2021-29519 BIT-tensorflow-2021-29519EUVD-2021-0260GHSA-772j-h9xw-ffp5PYSEC-2021-156PYSEC-2021-447PYSEC-2021-645

CHECK-fail in SparseCross due to type confusion

Published May 14, 2021 · Updated Aug 3, 2024 · Assigned by GitHub_M

Description

TensorFlow is an end-to-end open source platform for machine learning. The API of `tf.raw_ops.SparseCross` allows combinations which would result in a `CHECK`-failure and denial of service. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/3d782b7d47b1bf2ed32bd4a246d6d6cadc4c903d/tensorflow/core/kernels/sparse_cross_op.cc#L114-L116) is tricked to consider a tensor of type `tstring` which in fact contains integral elements. Fixing the type confusion by preventing mixing `DT_STRING` and `DT_INT64` types solves this issue. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.

Affected products

VendorProductAffectedFixed
tensorflow tensorflow < 2.1.4, >= 2.2.0, < 2.2.3, >= 2.3.0, < 2.3.3, >= 2.4.0, < 2.4.2 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI tensorflow < 2.1.4 2.1.4 GHSA-772j-h9xw-ffp5
PyPI tensorflow >= 2.2.0, < 2.2.3 2.2.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow >= 2.3.0, < 2.3.3 2.3.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow >= 2.4.0, < 2.4.2 2.4.2 GHSA-772j-h9xw-ffp5
PyPI tensorflow < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 2.1.4, 2.2.3, 2.3.3, 2.4.2 PYSEC-2021-156
PyPI tensorflow-cpu < 2.1.4 2.1.4 GHSA-772j-h9xw-ffp5
PyPI tensorflow-cpu >= 2.2.0, < 2.2.3 2.2.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow-cpu >= 2.3.0, < 2.3.3 2.3.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow-cpu >= 2.4.0, < 2.4.2 2.4.2 GHSA-772j-h9xw-ffp5
PyPI tensorflow-cpu < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 2.1.4, 2.2.3, 2.3.3, 2.4.2 PYSEC-2021-447
PyPI tensorflow-gpu < 2.1.4 2.1.4 GHSA-772j-h9xw-ffp5
PyPI tensorflow-gpu >= 2.2.0, < 2.2.3 2.2.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow-gpu >= 2.3.0, < 2.3.3 2.3.3 GHSA-772j-h9xw-ffp5
PyPI tensorflow-gpu >= 2.4.0, < 2.4.2 2.4.2 GHSA-772j-h9xw-ffp5
PyPI tensorflow-gpu < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 2.1.4, 2.2.3, 2.3.3, 2.4.2 PYSEC-2021-645

References