Vulnerabilidad en la implementación strided slice en TFLite en TensorFlow (CVE-2021-37686)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
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, la implementación strided slice en TFLite presenta un fallo lógico que puede permitir a un atacante desencadenar un bucle infinito. Esto se debe al soporte recientemente introducido para [ellipsis en la definición de ejes](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/strided_slice.cc#L103-L122). Un atacante puede diseñar un modelo tal que "ellipsis_end_idx" sea menor que "i" (por ejemplo, siempre negativo). En este caso, el bucle interno no incrementa "i" y la sentencia "continue" hace que la ejecución se salte el preincremento al final del bucle externo. Hemos parcheado el problema en el commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695 de GitHub. TensorFlow versión 2.6.0 es la única versión afectada.
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.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:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página