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

Vulnerabilidad en un parámetro "CHECK" en TensorFlow (CVE-2021-37654)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125 Lectura fuera de límites
Fecha de publicación:
12/08/2021
Última modificación:
18/08/2021

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. En las versiones afectadas, un atacante puede desencadenar un bloqueo por medio de un parámetro "CHECK" en las versiones de depuración de TensorFlow usando "tf.raw_ops.ResourceGather" o una lectura desde fuera de límites de los datos asignados a la pila en la misma API en una versión de lanzamiento. La [implementación](https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/resource_variable_ops.cc#L660-L668) no comprueba que el valor de "batch_dims" que el usuario proporciona es menor que el rango del tensor de entrada. Dado que la implementación usa varios bucles for sobre las dimensiones de "tensor", esto resulta en la lectura de datos desde fuera de límites del búfer asignado en el heap que respalda el tensor. Hemos parcheado el problema en el commit bc9c546ce7015c57c2f15c168b3d9201de679a1d de GitHub. La corrección será incluida en TensorFlow versión 2.6.0. También seleccionaremos este commit en TensorFlow 2.5.1, TensorFlow 2.4.3 y TensorFlow 2.3.4, ya que estos también están afectados y todavía están en el rango de soporte.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.3.0 (incluyendo) 2.3.4 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.4.0 (incluyendo) 2.4.3 (excluyendo)
cpe:2.3:a:google:tensorflow:2.5.0:*:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc0:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc1:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc2:*:*:*:*:*:*