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

Vulnerabilidad en un tensor respaldado por un búfer de "nullptr" en la serialización flatbuffer en un modelo TFLite en tensorflow-lite (CVE-2020-15209)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
25/09/2020
Última modificación:
16/09/2021

Descripción

En tensorflow-lite versiones anteriores a 1.15.4, 2.0.3, 2.1.2, 2.2.1 y 2.3.1, un modelo TFLite diseñado puede forzar a un nodo a tener como entrada un tensor respaldado por un búfer de "nullptr". Esto se puede lograr cambiando un índice de búfer en la serialización flatbuffer para convertir un tensor de solo lectura en uno de lectura y escritura. El tiempo de ejecución asume que estos búferes son escritos antes de una posible lectura, por lo que son inicializados con "nullptr". Sin embargo, al cambiar el índice del búfer por un tensor y convertir implícitamente ese tensor en uno de lectura y escritura, ya que no existe nada en el modelo que escriba en él, obtenemos una desreferencia del puntero null. El problema es parcheado en el commit 0b5662bc 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:*:*:*:*:lite:*:*:* 1.15.4 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* 2.0.0 (incluyendo) 2.0.3 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* 2.1.0 (incluyendo) 2.1.2 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* 2.2.0 (incluyendo) 2.2.1 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* 2.3.0 (incluyendo) 2.3.1 (excluyendo)
cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:*