Vulnerabilidad en el paso de entradas a "tf.raw_ops.StringNGrams" en TensorFlow (CVE-2021-29542)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-787
Escritura 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. Un atacante puede causar un desbordamiento del búfer al pasar entradas diseñadas a "tf.raw_ops.StringNGrams". Esto es debido a que la implementación (https://github.com/tensorflow/tensorflow/blob/1cdd4da14282210cc759e468d9781741ac7d01bf/tensorflow/core/kernels/string_ngrams_op.cc#L171-L185) no considera los casos de esquina donde la entrada se dividiría de tal manera que los tokens generados solo deben contener elementos de relleno. Si la entrada es tal que "num_tokens" es 0, entonces, para "data_start_index=0" (cuando el relleno a la izquierda está presente), la línea marcada daría como resultado la lectura de "data [-1]". La corrección será incluida en TensorFlow versión 2.5.0. También seleccionaremos este commit 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 compatible
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Puntuación base 2.0
2.10
Gravedad 2.0
BAJA
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) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página