Out-of-bounds Write Affecting tensorflow/tensorflow package, versions [,2.3.1)


Severity

Recommended
0.0
medium
0
10

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

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.35% (72nd 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 IDSNYK-UNMANAGED-TENSORFLOWTENSORFLOW-2333476
  • published12 Jan 2022
  • disclosed25 Sept 2020
  • creditUnknown

Introduced: 25 Sep 2020

CVE-2020-15200  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade tensorflow/tensorflow to version 2.3.1 or higher.

Overview

Affected versions of this package are vulnerable to Out-of-bounds Write. In Tensorflow before version 2.3.1, the RaggedCountSparseOutput implementation does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the values in the splits tensor generate a valid partitioning of the values tensor. Thus, the code sets up conditions to cause a heap buffer overflow. A BatchedMap is equivalent to a vector where each element is a hashmap. However, if the first element of splits_values is not 0, batch_idx will never be 1, hence there will be no hashmap at index 0 in per_batch_counts. Trying to access that in the user code results in a segmentation fault. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.

CVSS Scores

version 3.1