Skip to content
OpenAdvisories
High · 7.7 CVE-2021-37649 BIT-tensorflow-2021-37649EUVD-2021-0375GHSA-6gv8-p3vj-pxvrPYSEC-2021-271PYSEC-2021-562PYSEC-2021-760

Null pointer dereference in `UncompressElement` in TensorFlow

Published Aug 12, 2021 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

TensorFlow is an end-to-end open source platform for machine learning. The code for `tf.raw_ops.UncompressElement` can be made to trigger a null pointer dereference. The [implementation](https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/data/experimental/compression_ops.cc#L50-L53) obtains a pointer to a `CompressedElement` from a `Variant` tensor and then proceeds to dereference it for decompressing. There is no check that the `Variant` tensor contained a `CompressedElement`, so the pointer is actually `nullptr`. We have patched the issue in GitHub commit 7bdf50bb4f5c54a4997c379092888546c97c3ebd. 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.

Affected products

VendorProductAffectedFixed
tensorflow tensorflow >= 2.5.0, < 2.5.1, >= 2.4.0, < 2.4.3, < 2.3.4 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
SUSE Package Hub 15 SP3 bazel-skylib1.0.3 1.0.3-bp153.2.1 openSUSE-SU-2022:10014-1
SUSE Package Hub 15 SP3 bazel3.7 3.7.2-bp153.4.1 openSUSE-SU-2022:10014-1
SUSE Package Hub 15 SP3 tensorflow2 +3 2.6.0-bp153.2.3.1 openSUSE-SU-2022:10014-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.3 bazel-skylib1.0.3 1.0.3-bp153.2.1 openSUSE-SU-2022:10014-1
openSUSE Leap 15.3 bazel3.7 3.7.2-bp153.4.1 openSUSE-SU-2022:10014-1
openSUSE Leap 15.3 tensorflow2 +3 2.6.0-bp153.2.3.1 openSUSE-SU-2022:10014-1

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI tensorflow < 2.3.4 2.3.4 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow >= 2.4.0, < 2.4.3 2.4.3 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow >= 2.5.0, < 2.5.1 2.5.1 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow >= 2.3.0, < 2.3.4 · >= 2.4.0, < 2.4.3 2.3.4, 2.4.3 PYSEC-2021-271
PyPI tensorflow-cpu < 2.3.4 2.3.4 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-cpu >= 2.4.0, < 2.4.3 2.4.3 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-cpu >= 2.5.0, < 2.5.1 2.5.1 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-cpu >= 2.3.0, < 2.3.4 · >= 2.4.0, < 2.4.3 2.3.4, 2.4.3 PYSEC-2021-562
PyPI tensorflow-gpu < 2.3.4 2.3.4 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-gpu >= 2.4.0, < 2.4.3 2.4.3 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-gpu >= 2.5.0, < 2.5.1 2.5.1 GHSA-6gv8-p3vj-pxvr
PyPI tensorflow-gpu >= 2.3.0, < 2.3.4 · >= 2.4.0, < 2.4.3 2.3.4, 2.4.3 PYSEC-2021-760

Advisories 1

References