High severity · published May 14, 2021
CVE-2021-29612
TensorFlow is an end-to-end open source platform for machine learning
7.8
CVSS
0.3%
EPSS
No
On KEV
Description
TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a heap buffer overflow in Eigen implementation of `tf.raw_ops.BandedTriangularSolve`. The implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L269-L278) calls `ValidateInputTensors` for input validation but fails to validate that the two tensors are not empty. Furthermore, since `OP_REQUIRES` macro only stops execution of current function after setting `ctx->status()` to a non-OK value, callers of helper functions that use `OP_REQUIRES` must check value of `ctx->status()` before continuing. This doesn't happen in this op's implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L219), hence the validation that is present is also not effective. 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: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.3% · higher than 21% 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-29612
CVE.org
https://www.cve.org/CVERecord?id=CVE-2021-29612
Patch
https://github.com/tensorflow/tensorflow/commit/0ab290774f91a23bebe30a358fde4e53ab4876a0
Patch
https://github.com/tensorflow/tensorflow/commit/ba6822bd7b7324ba201a28b2f278c29a98edbef2
Exploit
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-2xgj-xhgf-ggjv
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
