CVE-2021-29558
Heap buffer overflow in `SparseSplit`
Description
TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow in `tf.raw_ops.SparseSplit`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/699bff5d961f0abfde8fa3f876e6d241681fbef8/tensorflow/core/util/sparse/sparse_tensor.h#L528-L530) accesses an array element based on a user controlled offset. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
How to fix CVE-2021-29558
To remediate CVE-2021-29558, upgrade the affected package to a fixed version below.
- —upgrade to 2.1.4 or later
- —upgrade to 2.1.4 or later
- —upgrade to 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 or later
- —upgrade to 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 or later
- —upgrade to 2.1.4 or later
- —upgrade to 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 or later
- —upgrade to 2.1.4 or later
Is CVE-2021-29558 being exploited?
Low — EPSS is 0.0%, meaning exploitation activity has not been observed at scale.
Affected packages (7)
- from 0, < 2.1.4, >= 2.2.0, < 2.2.3, >= 2.3.0, < 2.3.3, >= 2.4.0, < 2.4.2
- from 0, < 2.1.4
- from 0, < 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 | from 0, < 2.1.4, >= 2.2.0, < 2.3.0rc0, >= 2.3.0, < 2.3.4, >= 2.4.0, < 2.4.3
- from 0, < 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 | from 0, < 2.1.4, >= 2.2.0, < 2.3.0rc0, >= 2.3.0, < 2.3.4, >= 2.4.0, < 2.4.3
- from 0, < 2.1.4
- from 0, < 8ba6fa29cd8bf9cef9b718dc31c78c73081f5b31 | from 0, < 2.1.4, >= 2.2.0, < 2.3.0rc0, >= 2.3.0, < 2.3.4, >= 2.4.0, < 2.4.3
- from 0, < 2.1.4
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 4.0 | — | CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| osv | CVSS 3.1 | LOW2.5 | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L |