Out-of-bounds Read in Google Tensorflow

CVE-2022-21728

Tensorflow is an Open Source Machine Learning Framework. The implementation of shape inference for `ReverseSequence` does not fully validate the value of `batch_dim` and can result in a heap OOB read. There is a check to make sure the value of `batch_dim` does not go over the rank of the input, but there is no check for negative values. Negative dimensions are allowed in some cases to mimic Python's negative indexing (i.e., indexing from the end of the array), however if the value is too negative then the implementation of `Dim` would access elements before the start of an array. 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.

Vulnerability class: Buffer Overflow

EPSS: 0.011 (63.0th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 8.1 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2022-21728?
CVE-2022-21728 is a high-severity vulnerability in Google Tensorflow, classified under Out-of-bounds Read. CVSS score: 8.1/10. Published 2022-02-03.
How severe is CVE-2022-21728?
High severity. CVSS v3 base score is 8.1 out of 10.
Is CVE-2022-21728 known to be exploited?
12 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.