Skip to content

Abort caused by allocating a vector that is too large

Moderate
mihaimaruseac published GHSA-627q-g293-49q7 Feb 2, 2022

Package

pip tensorflow, tensorflow-cpu, tensorflow-gpu (pip)

Affected versions

< 2.8.0

Patched versions

2.5.3, 2.6.3, 2.7.1

Description

Impact

During shape inference, TensorFlow can allocate a large vector based on a value from a tensor controlled by the user:

  const auto num_dims = Value(shape_dim);
  std::vector<DimensionHandle> dims;
  dims.reserve(num_dims);

Patches

We have patched the issue in GitHub commit 1361fb7e29449629e1df94d44e0427ebec8c83c7.

The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Severity

Moderate

CVE ID

CVE-2022-23580

Weaknesses

No CWEs