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

Vulnerabilidad en la implementación "tf.raw_ops.SparseReshape" en TensorFlow (CVE-2021-37640)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-369 División por cero
Fecha de publicación:
12/08/2021
Última modificación:
18/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 se puede hacer que la implementación "tf.raw_ops.SparseReshape" lance una excepción de división integral por 0. La [implementación](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/reshape_util.cc#L176-L181) llama al functor de remodelación siempre que haya al menos un índice en la entrada, pero no comprueba que la forma de la entrada o la forma objetivo tengan ambas un número de elementos distinto de cero. El [functor de remodelación](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/reshape_util.cc#L40-L78) divide ciegamente por las dimensiones de la forma objetivo. Por lo tanto, si esto no es comprobado, el código dará lugar a una división por 0. Hemos parcheado el problema en el commit 4923de56ec94fff7770df259ab7f2288a74feb41 de GitHub. La corrección se incluirá en TensorFlow versión 2.6.0. También se incluirá este commit en TensorFlow versión 2.5.1 ya que es la otra versión afectada.

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:*:*:*:*:*:*