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

Vulnerabilidad en "tf.raw_ops.QuantizedBatchNormWithGlobalNormalization" en TensorFlow (CVE-2021-29549)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-369 División por cero
Fecha de publicación:
14/05/2021
Última modificación:
27/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 una división del tiempo de ejecución por error cero y denegación de servicio en "tf.raw_ops.QuantizedBatchNormWithGlobalNormalization". Esto es debido a que la implementación (https://github.com/tensorflow/tensorflow/blob/6f26b3f3418201479c264f2a02000880d8df151c/tensorflow/core/kernels/quantized_add_op.cc#L289-L295) calcula una operación de módulo sin comprobar que el divisor no es cero. Dado que "vector_num_elements" se determina en función de las formas de entrada (https://github.com/tensorflow/tensorflow/blob/6f26b3f3418201479c264f2a02000880d8df151c/tensorflow/core/kernels/quantized_add_op.cc#L522-L544), un usuario puede desencadenar escenarios donde la catnidad es 0. La corrección será incluída en TensorFlow versión 2.5.0. También seleccionaremos este commit en TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2

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)