Vulnerabilidad en un patrón "* _list [next _ *]" en "tf.raw_ops.RaggedCross" en TensorFlow (CVE-2021-29532)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125
Lectura fuera de límites
Fecha de publicación:
14/05/2021
Última modificación:
26/07/2021
Descripción
TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Un atacante puede forzar accesos fuera de límites de las matrices asignadas a la pila al pasar valores de tensor no comprobados a "tf.raw_ops.RaggedCross". Esto es debido a que la implementación (https://github.com/tensorflow/tensorflow/blob/efea03b38fb8d3b81762237dc85e579cc5fc6e87/tensorflow/core/kernels/ragged_cross_op.cc#L456-L487) carece de comprobación para los argumentos proporcionados por el usuario. Cada una de las ramas anteriores llama a una función auxiliar después de acceder a los elementos de la matriz por medio de un patrón "* _list [next _ *]", seguido de incrementar el índice "next_ *". Sin embargo, como no hay comprobación de que los valores "next_ *" estén en el rango válido para las matrices "* _list" correspondientes, esto resulta en lecturas OOB 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 versión 2.3.3, TensorFlow versión 2.2.3 y TensorFlow versión 2.1.4, ya que estos también están afectados y aún están en el rango compatible
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Puntuación base 2.0
3.60
Gravedad 2.0
BAJA
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) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página