TensorFlow: Crash in BCast::ToShape for input > int32 (before 2.11)
CVE-2022-41890 Published on November 18, 2022
`CHECK` fail in `BCast` overflow in Tensorflow
TensorFlow is an open source platform for machine learning. If `BCast::ToShape` is given input larger than an `int32`, it will crash, despite being supposed to handle up to an `int64`. An example can be seen in `tf.experimental.numpy.outer` by passing in large input to the input `b`. We have patched the issue in GitHub commit 8310bf8dd188ff780e7fc53245058215a05bdbe5. 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-41890 is exploitable 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-41890. 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
Incorrect Type Conversion or Cast
The software does not correctly convert an object, resource, or structure from one type to a different type.
Products Associated with CVE-2022-41890
stack.watch emails you whenever new vulnerabilities are published in Google Tensorflow or Tensorflow. Just hit a watch button to start following.
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-41890
| 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.