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

Vulnerabilidad en La implementación de "tf.raw_ops.FusedBatchNorm" en TensorFlow (CVE-2021-29583)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-125 Lectura fuera de límites
Fecha de publicación:
14/05/2021
Última modificación:
25/04/2022

Descripción

TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. La implementación de "tf.raw_ops.FusedBatchNorm" es vulnerable a un desbordamiento del búfer de la pila. Si los tensores están vacíos, la misma implementación puede desencadenar un comportamiento indefinido al eliminar la desreferencia de punteros nulls. La implementación (https://github.com/tensorflow/tensorflow/blob/57d86e0db5d1365f19adcce848dfc1bf89fdd4c7/tensorflow/core/kernels/fused_batch_norm_op.cc) no comprueba que "scale", "offset", "mean" y "varnce" (los dos últimos solo cuando sea necesario) todos presentan el mismo número de elementos que el número de canales de "x". Esto resulta en lecturas de pilas fuera de límites cuando los búferes que respaldan estos tensores se indexan más allá de su límite. Si los tensores están vacíos, Una comprobación mencionada en el párrafo anterior también desencadenaría y evitaría el comportamiento indefinido. La corrección será incluida en TensorFlow versión 2.5.0. También seleccionaremos este compromiso en TensorFlow versión 2.4.2, TensorFlow versión 2.3.3, TensorFlow versión 2.2.3 y TensorFlow versión 2.1.4, ya que estos también están afectados y aún están en el rango admitido

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)