CVE-2020-15193

Memory corruption in Tensorflow

State
Published
Severity
7.1 High
Published
Sep 25, 2020
Updated
Aug 4, 2024
Reserved
Jun 25, 2020

Read the record on cve.org

Description

In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:LGitHub_M

Weaknesses

  • CWE-908 {"CWE-908":"Use of Uninitialized Resource"}

Affected Products

ProductVersions
tensorflowtensorflow
  • = 2.2.0Affected
  • = 2.3.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.