CVE-2021-41197
Crashes due to overflow and `CHECK`-fail in ops with large tensor shapes
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
2Exploited in Wild
-Decision
Descriptions
TensorFlow is an open source platform for machine learning. In affected versions TensorFlow allows tensor to have a large number of dimensions and each dimension can be as large as desired. However, the total number of elements in a tensor must fit within an `int64_t`. If an overflow occurs, `MultiplyWithoutOverflow` would return a negative result. In the majority of TensorFlow codebase this then results in a `CHECK`-failure. Newer constructs exist which return a `Status` instead of crashing the binary. This is similar to CVE-2021-29584. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
TensorFlow es una plataforma de código abierto para el aprendizaje automático. En las versiones afectadas TensorFlow permite que el tensor tenga un gran número de dimensiones y cada dimensión puede ser tan grande como se desee. Sin embargo, el número total de elementos en un tensor debe caber dentro de un "int64_t". Si se produce un desbordamiento, "MultiplyWithoutOverflow" devolverá un resultado negativo. En la mayoría de los códigos de TensorFlow esto resulta en un fallo de "CHECK". Se presentan nuevas construcciones que devuelven un "Status" en lugar de bloquear el binario. Esto es similar a CVE-2021-29584. La corrección será incluida en TensorFlow versión 2.7.0. También será incluida este commit en TensorFlow versión 2.6.1, TensorFlow versión 2.5.2, y TensorFlow versión 2.4.4, ya que estos también están afectados y todavía están en el rango admitido
CVSS Scores
SSVC
- Decision:-
Timeline
- 2021-09-15 CVE Reserved
- 2021-11-05 CVE Published
- 2024-01-28 EPSS Updated
- 2024-08-04 CVE Updated
- 2024-08-04 First Exploit
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-190: Integer Overflow or Wraparound
CAPEC
References (6)
URL | Tag | Source |
---|
URL | Date | SRC |
---|---|---|
https://github.com/tensorflow/tensorflow/issues/46890 | 2024-08-04 | |
https://github.com/tensorflow/tensorflow/issues/51908 | 2024-08-04 |
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.4.4 Search vendor "Google" for product "Tensorflow" and version " < 2.4.4" | - |
Affected
| ||||||
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | >= 2.5.0 < 2.5.2 Search vendor "Google" for product "Tensorflow" and version " >= 2.5.0 < 2.5.2" | - |
Affected
| ||||||
Google Search vendor "Google" | Tensorflow Search vendor "Google" for product "Tensorflow" | >= 2.6.0 < 2.6.1 Search vendor "Google" for product "Tensorflow" and version " >= 2.6.0 < 2.6.1" | - |
Affected
|