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

Vulnerabilidad en la función "RaggedBincount" en TensorFlow (CVE-2021-29512)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787 Escritura fuera de límites
Fecha de publicación:
14/05/2021
Última modificación:
19/05/2021

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Si el argumento "splits" de "RaggedBincount" no especifica un "SparseTensor" válido (https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor), entonces un atacante puede desencadenar un desbordamiento del búfer de la pila. Esto causará una lectura desde fuera de límites del búfer tensorial "splits" en una implementación de la operación "RaggedBincount" (https://github.com/tensorflow/tensorflow/blob/8b677d79167799f71c42fd3fa074476e0295413a/tensorflow/core/kernels/bincount_op. cc#L430-L433). Antes del bucle "for","batch_idx" es ajustado en 0. El usuario controla la matriz "splits", haciendo que contenga solo un elemento, 0. Por lo tanto, el código en el bucle "while" incrementaría "batch_idx" y luego intenta leer "splits(1)", que está fuera de límites. La corrección será incluída en TensorFlow versión 2.5.0. También seleccionaremos este commit en TensorFlow versión 2.4.2 y TensorFlow versión 2.3.3, ya que estos también están afectados

Productos y versiones vulnerables

CPE Desde Hasta
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)