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

Vulnerabilidad en la comprobación de los argumentos de entrada en la implementación de "RaggedCountSparseOutput" en Tensorflow (CVE-2020-15200)

Gravedad CVSS v3.1:
MEDIA
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 anteriores a la versión 2.3.1, la implementación de "RaggedCountSparseOutput" no comprueba que los argumentos de entrada formen un tensor irregular válido. En particular, no existe comprobación de que los valores en el tensor "splits" generen una partición válida del tensor "values". Por lo tanto, el código establece las condiciones para causar un desbordamiento del búfer de la pila. Un "BatchedMap" es equivalente a un vector donde cada elemento es un mapa de hash. Sin embargo, si el primer elemento de "splits_values" no es 0, "batch_idx" nunca será 1, por lo que no habrá un hashmap en el índice 0 en "per_batch_counts". Intentar acceder a eso en el código de usuario resulta en un fallo de segmentación. El problema es parcheado en el commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 y es publicado en TensorFlow versión 2.3.1

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:google:tensorflow:2.3.0:*:*:*:-:*:*:*