PT-2021-18301 · Google · Tensorflow

·

CVE-2021-29550

·

Publicado

2021-05-14

·

Atualizado

2024-03-06

CVSS v3.1

5.5

Média

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.5.0
TensorFlow versão 2.4.2
TensorFlow versão 2.3.3
TensorFlow versão 2.2.3
TensorFlow versão 2.1.4
Descrição
Um invasor pode causar um erro de divisão por zero em tempo de execução e negação de serviço em tf.raw ops.FractionalAvgPool. Isso ocorre porque a implementação calcula um divisor dividindo dois valores controlados pelo usuário, input size[i] e pooling ratio [i]. Se o valor em input size[i] for menor que pooling ratio [i], a operação de arredondamento para baixo resulta em output size[i] igual a 0. Posteriormente, esses valores calculados são usados como argumentos para GeneratePoolingSequence, onde o primeiro cálculo é uma divisão em uma operação de módulo. Como output length pode ser 0, isso resulta em falha de tempo de execução.
Recomendações
Para a versão 2.1.4 do TensorFlow, atualize para a versão 2.1.4 ou posterior após a inclusão da correção.
Para a versão 2.2.3 do TensorFlow, atualize para a versão 2.2.3 ou posterior após a inclusão da correção.
Para a versão 2.3.3 do TensorFlow, atualize para a versão 2.3.3 ou posterior após a inclusão da correção.
Para a versão 2.4.2 do TensorFlow, atualize para a versão 2.4.2 ou posterior após a inclusão da correção.
Para versões do TensorFlow anteriores à 2.5.0, atualize para a versão 2.5.0 ou posterior.
Como solução alternativa temporária, considere evitar o uso de tf.raw ops.FractionalAvgPool até que um patch esteja disponível.

Exploit

Correção

Divide By Zero

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

Enumeração de Fraquezas

Identificadores relacionados

BIT-TENSORFLOW-2021-29550
CVE-2021-29550
GHSA-F78G-Q7R4-9WCV
PYSEC-2021-187
PYSEC-2021-478
PYSEC-2021-676

Produtos afetados

Tensorflow