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

Vulnerabilidad en la operación "tf.raw_ops.Switch" en Tensorflow (CVE-2020-15190)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-20 Validación incorrecta de entrada
Fecha de publicación:
25/09/2020
Última modificación:
18/11/2021

Descripción

En Tensorflow anteriores a las versiones 1.15.4, 2.0.3, 2.1.2, 2.2.1 y 2.3.1, la operación "tf.raw_ops.Switch" toma como entrada un tensor y un booleano y genera dos tensores. Dependiendo del valor booleano, uno de los tensores es exactamente el tensor de entrada mientras que el otro debería ser un tensor vacío. Sin embargo, el tiempo de ejecución de eager salta todos los tensores en la salida. Dado que solo se define uno de los tensores, el otro es "nullptr", por lo que vinculamos una referencia a "nullptr". Este es un comportamiento indefinido y se reporta como un error si se compila con "-fsanitize=null". En este caso, esto resulta en un fallo de segmentación. El problema es parcheado en el commit da8558533d925694483d2c136a9220d6d49d843c, y es publicado en TensorFlow versiones 1.15.4, 2.0.3, 2.1.2, 2.2.1 o 2.3.1

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