CVE-2021-29569
Heap out of bounds read in `RequantizationRange`
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
TensorFlow is an end-to-end open source platform for machine learning. The implementation of `tf.raw_ops.MaxPoolGradWithArgmax` can cause reads outside of bounds of heap allocated data if attacker supplies specially crafted inputs. The implementation(https://github.com/tensorflow/tensorflow/blob/ac328eaa3870491ababc147822cd04e91a790643/tensorflow/core/kernels/requantization_range_op.cc#L49-L50) assumes that the `input_min` and `input_max` tensors have at least one element, as it accesses the first element in two arrays. If the tensors are empty, `.flat<T>()` is an empty object, backed by an empty array. Hence, accesing even the 0th element is a read outside the bounds. 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.
TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. La implementación de "tf.raw_ops.MaxPoolGradWithArgmax" puede causar una lectura fuera de límites de los datos asignados a la pila si el atacante suministra entradas especialmente diseñadas. La implementación (https://github.com/tensorflow/tensorflow/blob/ac328eaa3870491ababc147822cd04e91a790643/tensorflow/core/kernels/requantization_range_op.cc#L49-L50) asume que los tensores "input_min" y" input_max" tienen al menos un elemento, a medida que accede al primer elemento en dos matrices. Si los tensores están vacíos, ".flat (T) ()" es un objeto vacío, respaldado por una matriz vacía. Por lo tanto, acceder incluso al elemento 0 es una lectura fuera de límites. La corrección será incluida en TensorFlow versión 2.5.0. También seleccionaremos este commit en TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 y TensorFlow 2.1.4
CVSS Scores
SSVC
- Decision:-
Timeline
- 2021-03-30 CVE Reserved
- 2021-05-14 CVE Published
- 2023-03-08 EPSS Updated
- 2024-08-03 CVE Updated
- 2024-08-03 First Exploit
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-125: Out-of-bounds Read
CAPEC
References (2)
URL | Tag | Source |
---|
URL | Date | SRC |
---|---|---|
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-3h8m-483j-7xxm | 2024-08-03 |
URL | Date | SRC |
---|---|---|
https://github.com/tensorflow/tensorflow/commit/ef0c008ee84bad91ec6725ddc42091e19a30cf0e | 2021-05-20 |
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | < 2.1.4 Search vendor "Google" for product "Tensorflow" and version " < 2.1.4" | - |
Affected
| ||||||
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | >= 2.2.0 < 2.2.3 Search vendor "Google" for product "Tensorflow" and version " >= 2.2.0 < 2.2.3" | - |
Affected
| ||||||
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | >= 2.3.0 < 2.3.3 Search vendor "Google" for product "Tensorflow" and version " >= 2.3.0 < 2.3.3" | - |
Affected
| ||||||
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | >= 2.4.0 < 2.4.2 Search vendor "Google" for product "Tensorflow" and version " >= 2.4.0 < 2.4.2" | - |
Affected
|