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

Vulnerabilidad en "SparseAdd" en TensorFlow (CVE-2021-29609)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
14/05/2021
Última modificación:
20/05/2021

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Una comprobación incompleta en "SparseAdd" resulta en que los atacantes puedan explotar el comportamiento indefinido (desreferenciar punteros nulls), así como escribir fuera de límites de los datos asignados a la pila. La implementación (https://github.com/tensorflow/tensorflow/blob/656e7673b14acd7835dc778867f84916c6d1cac2/tensorflow/core/kernels/sparse_add_op.cc) presenta un gran conjunto de comprobación para las dos entradas de tensor dispersas (6 tensores en total), pero no comprobar que los tensores no estén vacíos o que la segunda dimensión de "*_indices" coincida con el tamaño de "*_shape" correspondiente. Esto permite a los atacantes enviar triples de tensor que representan tensores dispersos no comprobados para abusar de supuestos de código que no están protegidos por comprobación. La corrección será incluída en TensorFlow versión 2.5.0. También seleccionaremos este commits en TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 y TensorFlow 2.1.4, ya que también están afectadas y aún se encuentran en el rango compatible

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.1.4 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.2.0 (incluyendo) 2.2.3 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.3.0 (incluyendo) 2.3.3 (excluyendo)
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:* 2.4.0 (incluyendo) 2.4.2 (excluyendo)