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

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

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