Vulnerabilidad en el argumento "data_splits" de "tf.raw_ops.StringNGrams" en Tensorflow (CVE-2020-15205)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
25/09/2020
Última modificación:
18/11/2021
Descripción
En Tensorflow versiones anteriores a 1.15.4, 2.0.3, 2.1.2, 2.2.1 y 2.3.1, el argumento "data_splits" de "tf.raw_ops.StringNGrams" carece de comprobación. Esto permite a un usuario pasar valores que pueden causar errores de desbordamiento de la pila e incluso filtrar el contenido de la memoria. En el fragmento de código vinculado, todas las cadenas binarias después de "ee ff" son contenidos desde la pila de memoria. Dado que estos pueden contener direcciones de retorno, este filtrado de datos se puede utilizar para anular ASLR. El problema es parcheado en el commit 0462de5b544ed4731aa2fb23946ac22c01856b80 y es publicado en TensorFlow versiones 1.15.4, 2.0.3, 2.1.2, 2.2.1 o 2.3.1
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:* | 1.15.4 (excluyendo) | |
cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:* | 2.0.0 (incluyendo) | 2.0.3 (excluyendo) |
cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:* | 2.1.0 (incluyendo) | 2.1.2 (excluyendo) |
cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:* | 2.2.0 (incluyendo) | 2.2.1 (excluyendo) |
cpe:2.3:a:google:tensorflow:*:*:*:*:-:*:*:* | 2.3.0 (incluyendo) | 2.3.1 (excluyendo) |
cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html
- https://github.com/tensorflow/tensorflow/commit/0462de5b544ed4731aa2fb23946ac22c01856b80
- https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-g7p5-5759-qv46