CVE-2021-37649CWE-476

Null pointer dereference in `UncompressElement` in TensorFlow

High · published August 12, 2021

CVSS v3.1
7.7
EPSS
0%
Percentile
4.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.7 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00160 · 4.8th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2021-08-12T18:10Z
EPSS history
Timeline
  • 12 AUG 18:10Z
    Null pointer dereference in `UncompressElement` in TensorFlow
    cvelistv5