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
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Puntuación base 2.0
2.10
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