CVE-2021-29609

Name
CVE-2021-29609
Description
TensorFlow is an end-to-end open source platform for machine learning. Incomplete validation in `SparseAdd` results in allowing attackers to exploit undefined behavior (dereferencing null pointers) as well as write outside of bounds of heap allocated data. The implementation(https://github.com/tensorflow/tensorflow/blob/656e7673b14acd7835dc778867f84916c6d1cac2/tensorflow/core/kernels/sparse_add_op.cc) has a large set of validation for the two sparse tensor inputs (6 tensors in total), but does not validate that the tensors are not empty or that the second dimension of `*_indices` matches the size of corresponding `*_shape`. This allows attackers to send tensor triples that represent invalid sparse tensors to abuse code assumptions that are not protected by validation. 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.
NVD Severity
medium
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
MISC https://github.com/tensorflow/tensorflow/commit/41727ff06111117bdf86b37db198217fd7a143cc
CONFIRM https://github.com/tensorflow/tensorflow/security/advisories/GHSA-cjc7-49v2-jp64
MISC https://github.com/tensorflow/tensorflow/commit/6fd02f44810754ae7481838b6a67c5df7f909ca3

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* tensorflow >= None < 2.1.4
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* tensorflow >= 2.2.0 < 2.2.3
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* tensorflow >= 2.3.0 < 2.3.3
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* tensorflow >= 2.4.0 < 2.4.2

Vulnerable and fixed packages

Source package Branch Version Maintainer Status