High severity · published May 14, 2021
CVE-2021-29532
TensorFlow is an end-to-end open source platform for machine learning
7.1
CVSS
0.2%
EPSS
No
On KEV
Description
TensorFlow is an end-to-end open source platform for machine learning. An attacker can force accesses outside the bounds of heap allocated arrays by passing in invalid tensor values to `tf.raw_ops.RaggedCross`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efea03b38fb8d3b81762237dc85e579cc5fc6e87/tensorflow/core/kernels/ragged_cross_op.cc#L456-L487) lacks validation for the user supplied arguments. Each of the above branches call a helper function after accessing array elements via a `*_list[next_*]` pattern, followed by incrementing the `next_*` index. However, as there is no validation that the `next_*` values are in the valid range for the corresponding `*_list` arrays, this results in heap OOB reads. 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.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 10% 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-29532
CVE.org
https://www.cve.org/CVERecord?id=CVE-2021-29532
Patch
https://github.com/tensorflow/tensorflow/commit/44b7f486c0143f68b56c34e2d01e146ee445134a
Exploit
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-j47f-4232-hvv8
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
