Skip to content
OpenAdvisories
High · 7.1 CVE-2021-41211 BIT-tensorflow-2021-41211EUVD-2021-0433GHSA-cvgx-3v3q-m36cPYSEC-2021-403PYSEC-2021-620PYSEC-2021-818

Heap OOB read in shape inference for `QuantizeV2`

Published Nov 5, 2021 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

TensorFlow is an open source platform for machine learning. In affected versions the shape inference code for `QuantizeV2` can trigger a read outside of bounds of heap allocated array. This occurs whenever `axis` is a negative value less than `-1`. In this case, we are accessing data before the start of a heap buffer. The code allows `axis` to be an optional argument (`s` would contain an `error::NOT_FOUND` error code). Otherwise, it assumes that `axis` is a valid index into the dimensions of the `input` tensor. If `axis` is less than `-1` then this results in a heap OOB read. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, as this version is the only one that is also affected.

Affected products

VendorProductAffectedFixed
tensorflow tensorflow >= 2.6.0, < 2.6.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI tensorflow >= 2.6.0, < 2.6.1 2.6.1 GHSA-cvgx-3v3q-m36c
PyPI tensorflow >= 2.6.0, < 2.6.1 · >= 2.7.0rc0, < 2.7.0 2.6.1, 2.7.0 PYSEC-2021-403
PyPI tensorflow-cpu >= 2.6.0, < 2.6.1 2.6.1 GHSA-cvgx-3v3q-m36c
PyPI tensorflow-cpu >= 2.6.0, < 2.6.1 · >= 2.7.0rc0, < 2.7.0 2.6.1, 2.7.0 PYSEC-2021-620
PyPI tensorflow-gpu >= 2.6.0, < 2.6.1 2.6.1 GHSA-cvgx-3v3q-m36c
PyPI tensorflow-gpu >= 2.6.0, < 2.6.1 · >= 2.7.0rc0, < 2.7.0 2.6.1, 2.7.0 PYSEC-2021-818

References