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

Vulnerabilidad en las aplicaciones que usan "tf.raw_ops.NonMaxSuppressionV5" en TensorFlow (CVE-2021-37669)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
12/08/2021
Última modificación:
19/08/2021

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. En las versiones afectadas, un atacante puede causar una denegación de servicio en aplicaciones que sirven modelos que usan "tf.raw_ops.NonMaxSuppressionV5" al activar una división por 0. La [implementación] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/ tensorflow / core / kernels / image / non_max_suppression_op.cc # L170-L271) usa un argumento controlado por el usuario para cambiar el tamaño de un "std :: vector". Sin embargo, como "std :: vector :: resize" toma el argumento de tamaño como un" size_t" y "output_size" es un" int", hay una conversión implícita a unsigned. Si el atacante proporciona un valor negativo, esta conversión resulta en un bloqueo. Un problema similar ocurre en "CombinedNonMaxSuppression". Hemos solucionado el problema en GitHub, commit 3a7362750d5c372420aa8f0caf7bf5b5c3d0f52d y commit [b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58. La corrección será incluida en TensorFlow versión 2.6.0. También seleccionaremos este commit en TensorFlow versión 2.5.1, TensorFlow versión 2.4.3 y TensorFlow versión 2.3.4, ya que estos también están afectados y aún se encuentran en el rango admitido.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.3.0 (incluyendo) 2.3.4 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.4.0 (incluyendo) 2.4.3 (excluyendo)
cpe:2.3:a:google:tensorflow:2.5.0:*:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc0:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc1:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:2.6.0:rc2:*:*:*:*:*:*