Crash in `max_pool3d` when size argument is 0 or negative
Impact
The Keras pooling layers can trigger a segfault if the size of the pool is 0 or if a dimension is negative:
import tensorflow as tf
pool_size = [2, 2, 0]
layer = tf.keras.layers.MaxPooling3D(strides=1, pool_size=pool_size)
input_tensor = tf.random.uniform([3, 4, 10, 11, 12], dtype=tf.float32)
res = layer(input_tensor)
This is due to the TensorFlow's implementation of pooling operations where the values in the sliding window are not checked to be strictly positive.
Patches
We have patched the issue in GitHub commit 12b1ff82b3f26ff8de17e58703231d5a02ef1b8b (merging #51975).
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.
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 externally via a GitHub issue.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Python (PyPI) | tensorflow | >= 2.6.0, < 2.6.1, >= 2.5.0, < 2.5.2, < 2.4.4 | 2.6.1, 2.5.2, 2.4.4 |
| Python (PyPI) | tensorflow-cpu | >= 2.6.0, < 2.6.1, >= 2.5.0, < 2.5.2, < 2.4.4 | 2.6.1, 2.5.2, 2.4.4 |
| Python (PyPI) | tensorflow-gpu | >= 2.6.0, < 2.6.1, >= 2.5.0, < 2.5.2, < 2.4.4 | 2.6.1, 2.5.2, 2.4.4 |
Referencias
- https://github.com/tensorflow/tensorflow/issues/51936
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-m539-j985-hcr8
- https://github.com/tensorflow/tensorflow/commit/12b1ff82b3f26ff8de17e58703231d5a02ef1b8b
- https://nvd.nist.gov/vuln/detail/CVE-2021-41196
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-606.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-804.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-389.yaml
- https://github.com/tensorflow/tensorflow
- Vector CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H- Debilidad (CWE)
CWE-191- Plataforma
- Python (PyPI)
- Paquete
tensorflow, tensorflow-cpu, tensorflow-gpu- Publicada
- 05.11.2021
- Actualizado
- 11.10.2026 13:19
Fuentes y licencias
OSV / GitHub Advisory Database - PYSEC-2021-389 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2021-606 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2021-804 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-m539-j985-hcr8 - CC BY 4.0
Historial de vulnerabilidades: tensorflow-gpu
Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 427
- Primera → última
- 04.2019 07.2024
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Crítica 6
- Alta 109
- Media 207
- Baja 105
Divulgaciones por año
- 2019: 7
- 2020: 35
- 2021: 200
- 2022: 166
- 2023: 18
- 2024: 1
- 2025: 0
- 2026: 0
-
Crash in `max_pool3d` when size argument is 0 or negative esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.