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

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

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787 Escritura fuera de límites
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. La implementación de "tf.raw_ops.MaxPool3DGradGrad" es vulnerable a un desbordamiento del búfer de la pila. La implementación (https://github.com/tensorflow/tensorflow/blob/596c05a159b6fbb9e39ca10b3f7753b7244fa1e9/tensorflow/core/kernels/pooling_ops_3d.cc#L694-L696) no comprueba que la inicialización de "Pool3dParameters" se complete apropiadamente. Dado que el constructor (https://github.com/tensorflow/tensorflow/blob/596c05a159b6fbb9e39ca10b3f7753b7244fa1e9/tensorflow/core/kernels/pooling_ops_3d.cc#L48-L88) usa "OP_REQUIRES" para comprobar las condiciones iniciales, la primera de "params", haciendo que contenga datos no comprobados. A su vez, esto podría causar un desbordamiento del búfer de pila, según los valores inicializados predeterminados. La corrección será incluida en TensorFlow versión 2.5.0. También seleccionaremos este compromiso 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)