Access of Uninitialized Pointer Affecting tensorflow/tensorflow package, versions [,2.4.4)[2.5.0,2.5.2)


Severity

Recommended
0.0
high
0
10

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

Threat Intelligence

EPSS
0.02% (5th 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-2333573
  • published12 Jan 2022
  • disclosed5 Nov 2021
  • creditUnknown

Introduced: 5 Nov 2021

CVE-2021-41201  (opens in a new tab)
CWE-824  (opens in a new tab)

How to fix?

Upgrade tensorflow/tensorflow to version 2.4.4, 2.5.2 or higher.

Overview

Affected versions of this package are vulnerable to Access of Uninitialized Pointer. TensorFlow is an open source platform for machine learning. In affeced versions during execution, EinsumHelper::ParseEquation() is supposed to set the flags in input_has_ellipsis vector and *output_has_ellipsis boolean to indicate whether there is ellipsis in the corresponding inputs and output. However, the code only changes these flags to true and never assigns false. This results in unitialized variable access if callers assume that EinsumHelper::ParseEquation() always sets these flags. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

CVSS Base Scores

version 3.1