PT-2021-18342 · Google · Tensorflow

CVE-2021-29591

·

Publicado

2021-05-14

·

Atualizado

2024-03-06

CVSS v3.1

7.8

Alta

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.5.0
Versões do TensorFlow 2.4.2 e anteriores
Versões do TensorFlow 2.3.3 e anteriores
Versões do TensorFlow 2.2.3 e anteriores
Versões do TensorFlow 2.1.4 e anteriores
Descrição
O TensorFlow é uma plataforma de código aberto completa para aprendizado de máquina. Os gráficos TFlite não devem conter loops entre os nós. No entanto, essa condição não era verificada, e um invasor poderia criar modelos que resultariam em um loop infinito durante a avaliação. Em certos casos, o loop infinito seria substituído por estouro de pilha devido a um número excessivo de chamadas recursivas. Por exemplo, a implementação do While poderia ser induzida a um cenário em que tanto o corpo quanto os subgrafos do loop fossem iguais. Avaliar um dos subgrafos significa chamar a função Eval para o outro, e isso esgota rapidamente todo o espaço da pilha.
Recomendações
Para versões anteriores à 2.5.0, atualize para o TensorFlow 2.5.0 ou posterior.
Para versões 2.4.2 e anteriores, atualize para o TensorFlow 2.4.2 ou posterior.
Para versões 2.3.3 e anteriores, atualize para o TensorFlow 2.3.3 ou posterior.
Para versões 2.2.3 e anteriores, atualize para o TensorFlow 2.2.3 ou posterior.
Para versões 2.1.4 e anteriores, atualize para o TensorFlow 2.1.4 ou posterior.
Como solução temporária, considere desativar a implementação While até que um patch esteja disponível.

Exploit

Correção

Infinite Loop

Uncontrolled Recursion

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

Enumeração de Fraquezas

Identificadores relacionados

BIT-TENSORFLOW-2021-29591
CVE-2021-29591
GHSA-CWV3-863G-39VX
PYSEC-2021-228
PYSEC-2021-519
PYSEC-2021-717

Produtos afetados

Tensorflow