Vulnerability · Published Feb 3, 2022 · Assigned by GitHub_M
CVE-2022-21736Undefined behavior in Tensorflow
High 7.6
In plain English
A high-severity null pointer dereference in the tensorflow package (PyPI). Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 55% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Tensorflow is an Open Source Machine Learning Framework. The implementation of `SparseTensorSliceDataset` has an undefined behavior: under certain condition it can be made to dereference a `nullptr` value. The 3 input arguments to `SparseTensorSliceDataset` represent a sparse tensor. However, there are some preconditions that these arguments must satisfy but these are not validated in the implementation. 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | tensorflow | 2.5.3 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow | 2.6.3 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow | 2.7.1 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow | 2.5.3, 2.6.3, 2.7.1 | PYSEC-2026-3223 |
| PyPI | tensorflow-cpu | 2.6.3 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow-cpu | 2.7.1 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow-cpu | 2.5.3, 2.6.3 | PYSEC-2022-60 |
| PyPI | tensorflow-cpu | 2.5.3 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow-gpu | 2.7.1 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow-gpu | 2.5.3, 2.6.3 | PYSEC-2022-115 |
| PyPI | tensorflow-gpu | 2.5.3 | GHSA-pfjj-m3jj-9jc9 |
| PyPI | tensorflow-gpu | 2.6.3 | GHSA-pfjj-m3jj-9jc9 |
Affected products (as reported)
Weakness: CWE-476 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-pfjj-m3jj-9jc9 x_refsource_CONFIRM
- https://github.com/tensorflow/tensorflow/commit/965b97e4a9650495cda5a8c210ef6684b4b9eceb x_refsource_MISC
- https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L227-L292 x_refsource_MISC