Out-of-Bounds Affecting tensorflow-cpu package, versions [2.5.0,2.5.1)[2.4.0,2.4.3)[,2.3.4)


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.04% (15th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Out-of-Bounds vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-PYTHON-TENSORFLOWCPU-1540840
  • published13 Aug 2021
  • disclosed13 Aug 2021
  • creditUnknown

Introduced: 13 Aug 2021

CVE-2021-37639  (opens in a new tab)
CWE-476  (opens in a new tab)

How to fix?

Upgrade tensorflow-cpu to version 2.5.1, 2.4.3, 2.3.4 or higher.

Overview

tensorflow-cpu is a machine learning framework.

Affected versions of this package are vulnerable to Out-of-Bounds. When restoring tensors via raw APIs, if the tensor name is not provided, TensorFlow can be tricked into dereferencing a null pointer. Alternatively, attackers can read memory outside the bounds of heap allocated data by providing some tensor names but not enough for a successful restoration. The implementation retrieves the tensor list corresponding to the tensor_name user controlled input and immediately retrieves the tensor at the restoration index (controlled via preferred_shard argument). This occurs without validating that the provided list has enough values. If the list is empty this results in dereferencing a null pointer (undefined behavior). If, however, the list has some elements, if the restoration index is outside the bounds this results in heap OOB read.

References

CVSS Scores

version 3.1