Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la implementación "While" en TensorFlow (CVE-2021-29591)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
14/05/2021
Última modificación:
25/04/2022

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Los gráficos TFlite no deben tener bucles entre nodos. Sin embargo, esta condición no fue comprobada y un atacante podría diseñar modelos que darían como resultado un bucle infinito durante la evaluación. En determinados casos, el bucle infinito sería reemplazado por un desbordamiento de la pila debido a demasiadas llamadas recursivas. Por ejemplo, la implementación "While" (https://github.com/tensorflow/tensorflow/blob/106d8f4fb89335a2c52d7c895b7a7485465ca8d9/tensorflow/lite/kernels/ while.cc) podría engañarse en un argunto donde tanto el cuerpo como los subgrafos de bucle son lo mismo. Evaluar uno de los subgrafos significa llamar a la función "Eval" para el otro y esto agota rápidamente todo el espacio de la pila. 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, ya que también están afectados y aún se encuentran en el rango compatible. Consulte nuestra guía de seguridad (https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) para obtener más información sobre el modelo de seguridad y cómo contactarnos con problemas y preguntas

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.1.4 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.2.0 (incluyendo) 2.2.3 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.3.0 (incluyendo) 2.3.3 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.4.0 (incluyendo) 2.4.2 (excluyendo)