Infinite loop in TFLite
Impact
The strided slice implementation in TFLite has a logic bug which can allow an attacker to trigger an infinite loop. This arises from newly introduced support for ellipsis in axis definition:
for (int i = 0; i < effective_dims;) {
if ((1 << i) & op_context->params->ellipsis_mask) {
// ...
int ellipsis_end_idx =
std::min(i + 1 + num_add_axis + op_context->input_dims - begin_count,
effective_dims);
// ...
for (; i < ellipsis_end_idx; ++i) {
// ...
}
continue;
}
// ...
++i;
}
An attacker can craft a model such that ellipsis_end_idx is smaller than i (e.g., always negative). In this case, the inner loop does not increase i and the continue statement causes execution to skip over the preincrement at the end of the outer loop.
Patches
We have patched the issue in GitHub commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695.
The fix will be included in TensorFlow 2.6.0. This is the only affected version.
For more information
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
Attribution
This vulnerability has been reported by members of the Aivul Team from Qihoo 360.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Python (PyPI) | tensorflow | >= 2.6.0rc0, < 2.6.0rc2 | 2.6.0rc2 |
| Python (PyPI) | tensorflow-cpu | >= 2.6.0rc0, < 2.6.0rc2 | 2.6.0rc2 |
| Python (PyPI) | tensorflow-gpu | >= 2.6.0rc0, < 2.6.0rc2 | 2.6.0rc2 |
Verweise
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-mhhc-q96p-mfm9
- https://github.com/tensorflow/tensorflow/commit/dfa22b348b70bb89d6d6ec0ff53973bacb4f4695
- https://nvd.nist.gov/vuln/detail/CVE-2021-37686
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-599.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-797.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-308.yaml
- https://github.com/tensorflow/tensorflow
- https://github.com/tensorflow/tensorflow/releases/tag/v2.3.4
- https://github.com/tensorflow/tensorflow/releases/tag/v2.4.3
- https://github.com/tensorflow/tensorflow/releases/tag/v2.5.1
- https://github.com/tensorflow/tensorflow/releases/tag/v2.6.0
- CVSS-Vektor
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H- Schwäche (CWE)
CWE-835- Plattform
- Python (PyPI)
- Paket
tensorflow, tensorflow-cpu, tensorflow-gpu- Veröffentlicht
- 12.08.2021
- Aktualisiert
- 11.10.2026 13:19
Quellen und Lizenzen
OSV / GitHub Advisory Database - PYSEC-2021-308 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2021-599 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2021-797 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-mhhc-q96p-mfm9 - CC BY 4.0
Schwachstellenhistorie: tensorflow-gpu
Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 427
- Erste → letzte
- 04.2019 07.2024
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Kritisch 6
- Hoch 109
- Mittel 207
- Niedrig 105
Veröffentlichungen pro Jahr
- 2019: 7
- 2020: 35
- 2021: 200
- 2022: 166
- 2023: 18
- 2024: 1
- 2025: 0
- 2026: 0
-
Infinite loop in TFLite dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.