TensorFlow Heap OOB via MirrorPadGrad on TF < 2.11
CVE-2022-41895 Published on November 18, 2022
`MirrorPadGrad` heap out of bounds read in Tensorflow
TensorFlow is an open source platform for machine learning. If `MirrorPadGrad` is given outsize input `paddings`, TensorFlow will give a heap OOB error. We have patched the issue in GitHub commit 717ca98d8c3bba348ff62281fdf38dcb5ea1ec92. The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1, 2.9.3, and TensorFlow 2.8.4, as these are also affected and still in supported range.
Vulnerability Analysis
CVE-2022-41895 can be exploited with network access, requires user interaction and a small amount of user privileges. This vulnerability is consided to have a high level of attack complexity. Public availability of a proof of concept (POC) exploit exists for CVE-2022-41895. The potential impact of an exploit of this vulnerability is considered to have no impact on confidentiality and integrity, and a high impact on availability.
Weakness Type
Out-of-bounds Read
The software reads data past the end, or before the beginning, of the intended buffer. Typically, this can allow attackers to read sensitive information from other memory locations or cause a crash. A crash can occur when the code reads a variable amount of data and assumes that a sentinel exists to stop the read operation, such as a NUL in a string. The expected sentinel might not be located in the out-of-bounds memory, causing excessive data to be read, leading to a segmentation fault or a buffer overflow. The software may modify an index or perform pointer arithmetic that references a memory location that is outside of the boundaries of the buffer. A subsequent read operation then produces undefined or unexpected results.
Products Associated with CVE-2022-41895
Want to know whenever a new CVE is published for Google Tensorflow? stack.watch will email you.
Affected Versions
tensorflow:- Version >= 2.10.0, < 2.10.1 is affected.
- Version >= 2.9.0, < 2.9.3 is affected.
- Version < 2.8.4 is affected.
Vulnerable Packages
The following package name and versions may be associated with CVE-2022-41895
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| pip | tensorflow | < 2.8.4 | 2.8.4 |
| pip | tensorflow | >= 2.9.0, < 2.9.3 | 2.9.3 |
| pip | tensorflow | >= 2.10.0, < 2.10.1 | 2.10.1 |
| pip | tensorflow-cpu | < 2.8.4 | 2.8.4 |
| pip | tensorflow-gpu | < 2.8.4 | 2.8.4 |
| pip | tensorflow-cpu | >= 2.9.0, < 2.9.3 | 2.9.3 |
| pip | tensorflow-gpu | >= 2.9.0, < 2.9.3 | 2.9.3 |
| pip | tensorflow-cpu | >= 2.10.0, < 2.10.1 | 2.10.1 |
| pip | tensorflow-gpu | >= 2.10.0, < 2.10.1 | 2.10.1 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.