High severity · published May 14, 2021
CVE-2021-29608
TensorFlow is an end-to-end open source platform for machine learning
7.8
CVSS
0.2%
EPSS
No
On KEV
Description
TensorFlow is an end-to-end open source platform for machine learning. Due to lack of validation in `tf.raw_ops.RaggedTensorToTensor`, an attacker can exploit an undefined behavior if input arguments are empty. The implementation(https://github.com/tensorflow/tensorflow/blob/656e7673b14acd7835dc778867f84916c6d1cac2/tensorflow/core/kernels/ragged_tensor_to_tensor_op.cc#L356-L360) only checks that one of the tensors is not empty, but does not check for the other ones. There are multiple `DCHECK` validations to prevent heap OOB, but these are no-op in release builds, hence they don't prevent anything. The fix will be included in TensorFlow 2.5.0. We will also cherrypick these commits 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.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 14% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
TE
Tensorflow · Google
before 2.1.4; 2.2.0 before 2.2.3; 2.3.0 before 2.3.3; 2.4.0 before 2.4.2 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2021-29608
CVE.org
https://www.cve.org/CVERecord?id=CVE-2021-29608
Patch
https://github.com/tensorflow/tensorflow/commit/b761c9b652af2107cfbc33efd19be0ce41daa33e
Patch
https://github.com/tensorflow/tensorflow/commit/c4d7afb6a5986b04505aca4466ae1951686c80f6
Patch
https://github.com/tensorflow/tensorflow/commit/f94ef358bb3e91d517446454edff6535bcfe8e4a
Exploit
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rgvq-pcvf-hx75
More from Tensorflow
9.9
CVE-2020-15196
In Tensorflow version 2.3.0, the `SparseCountSparseOutput` and `RaggedCountSparseOutput` implementations don't validate that the `weights` tensor has the same shape as the data
9.8
CVE-2023-25668
TensorFlow is an open source platform for machine learning
9.8
CVE-2023-25664
TensorFlow is an open source platform for machine learning
9.8
CVE-2022-41900
TensorFlow is an open source platform for machine learning
9.8
CVE-2022-35939
TensorFlow is an open source platform for machine learning
