Out-of-Bounds Affecting tensorflow 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% (16th 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-TENSORFLOW-1540839
  • 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 to version 2.5.1, 2.4.3, 2.3.4 or higher.

Overview

tensorflow 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 Base Scores

version 3.1