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

Vulnerabilidad en la implementación de "tf.raw_ops.MaxPoolGradWithArgmax" en TensorFlow (CVE-2021-29571)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787 Escritura 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. La implementación de "tf.raw_ops.MaxPoolGradWithArgmax" puede causar una lectura fuera de límites de los datos asignados a la pila si el atacante suministra entradas especialmente diseñadas. La implementación (https://github.com/tensorflow/tensorflow/blob/31bd5026304677faa8a0b77602c6154171b9aec1/tensorflow/core/kernels/image/draw_bounding_box_op.cc#L116-L130) asume que el último elemento de la entrada "boxes" es 4, ya que por [la operación] (https://www.tensorflow.org/api_docs/python/tf/raw_ops/DrawBoundingBoxesV2). Dado que esto no es comprobado, los atacantes que pasan valores inferiores a 4 pueden escribir fuera de límites de los objetos asignados a la pila y causar corrupción de la memoria. Si la última dimensión en "boxes" es menor que 4, accesos similares a" tboxes (b, bb, 3) "accederán a los datos fuera de límites. Además, durante una ejecución del código, también son escritos estos índices. La corrección será incluida en TensorFlow versión 2.5.0. También seleccionaremos este commit en TensorFlow versión 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 admitido

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)