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

Vulnerabilidad en la función "QuantizedMul" en TensorFlow (CVE-2021-29535)

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. Un atacante puede causar un desbordamiento del búfer de la pila en la función "QuantizedMul" al pasar umbrales no comprobados para la cuantificación. Esto es debido a que la implementación (https://github.com/tensorflow/tensorflow/blob/87cf4d3ea9949051e50ca3f071fc909538a51cd0/tensorflow/core/kernels/quantized_mul_op.cc#L287-L290) asume que los 4 argumentos son siempre escalares válidos e intenta acceder al valor numérico directamente. Sin embargo, si alguno de estos tensores está vacío, entonces ".flat(T)()" es un búfer vacío y acceder al elemento en una posición 0 resulta en un desbordamiento. 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 compatible

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)