PT-2021-21783 · Google · Tensorflow

·

CVE-2021-37666

·

Publicado

2021-08-12

·

Atualizado

2024-03-06

CVSS v4.0

8.5

Alta

VetorAV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.6.0
Versões do TensorFlow 2.5.1 e anteriores
Versões do TensorFlow 2.4.3 e anteriores
Versões do TensorFlow 2.3.4 e anteriores
Descrição
Um invasor pode causar comportamento indefinido ao vincular uma referência a um ponteiro nulo em tf.raw ops.RaggedTensorToVariant. A implementação possui uma validação incompleta dos valores de divisão, deixando de considerar o caso em que o argumento estaria vazio. Isso pode ser explorado passando um rt nested splits vazio para tf.raw ops.RaggedTensorToVariant, conforme mostrado no exemplo:
python

import tensorflow as tf




tf.raw ops.RaggedTensorToVariant(

 rt nested splits=[],

 rt dense values=[1,2,3],

 batched input=True)
O problema se deve à falta de validação do argumento rt nested splits.
Recomendações
Para versões anteriores à 2.6.0, atualize para o TensorFlow 2.6.0 ou posterior.
Para versões 2.5.1 e anteriores, atualize para o TensorFlow 2.5.1 ou posterior.
Para versões 2.4.3 e anteriores, atualize para o TensorFlow 2.4.3 ou posterior.
Para versões 2.3.4 e anteriores, atualize para o TensorFlow 2.3.4 ou posterior.
Como solução alternativa temporária, considere validar o argumento rt nested splits antes de passá-lo para tf.raw ops.RaggedTensorToVariant para evitar valores vazios.

Correção

Access of Uninitialized Pointer

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

BIT-TENSORFLOW-2021-37666
CVE-2021-37666
GHSA-W4XF-2PQW-5MQ7
OPENSUSE-SU-2022:10014-1
OPENSUSE-SU-2024:12116-1
PYSEC-2021-288
PYSEC-2021-579
PYSEC-2021-777

Produtos afetados

Tensorflow