Vulnerability · Published Nov 5, 2021 · Assigned by GitHub_M
CVE-2021-41211Heap OOB read in shape inference for `QuantizeV2`
High 7.1
In plain English
A high-severity out-of-bounds read in tensorflow from tensorflow. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | tensorflow | 2.6.1 | GHSA-cvgx-3v3q-m36c |
| PyPI | tensorflow | 2.6.1, 2.7.0 | PYSEC-2021-403 |
| PyPI | tensorflow-cpu | 2.6.1 | GHSA-cvgx-3v3q-m36c |
| PyPI | tensorflow-cpu | 2.6.1, 2.7.0 | PYSEC-2021-620 |
| PyPI | tensorflow-gpu | 2.6.1 | GHSA-cvgx-3v3q-m36c |
| PyPI | tensorflow-gpu | 2.6.1, 2.7.0 | PYSEC-2021-818 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| tensorflow | tensorflow | >= 2.6.0, < 2.6.1 |
Weakness: CWE-125 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H