Vulnerabilidad en el código adhesivo pybind11 en la implementación de "dlpack.to_dlpack" en Tensorflow (CVE-2020-15193)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/09/2020
Última modificación:
18/11/2021
Descripción
En Tensorflow versiones anteriores a 2.2.1 y 2.3.1, la implementación de "dlpack.to_dlpack" puede ser realizada para usar la memoria no inicializada, lo que resulta en una mayor corrupción de la memoria. Esto es debido a que el código adhesivo pybind11 asume que el argumento es un tensor. Sin embargo, no existe nada que impida que los usuarios pasen un objeto Python en lugar de un tensor. La dirección de memoria no inicializada es debido a un "reinterpret_cast" Dado que el "PyObject" es un objeto de Python, no un Tensor de TensorFlow, la conversión a "EagerTensor" presenta un fallo. El problema es parcheado en el commit 22e07fb204386768e5bcbea563641ea11f96ceb8 y es publicado en TensorFlow versiones 2.2.1 o 2.3.1
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Puntuación base 2.0
5.50
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:google:tensorflow:2.2.0:*:*:*:-:*:*:* | ||
| cpe:2.3:a:google:tensorflow:2.3.0:*:*:*:-:*:*:* | ||
| 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/22e07fb204386768e5bcbea563641ea11f96ceb8
- https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-rjjg-hgv6-h69v



