PT-2020-18311 · Google · Tensorflow
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 1.15.1
Versões do TensorFlow anteriores à 2.0.1
Descrição
A conversão de uma string em um valor
tf.float16 resulta em uma falha de segmentação no modo eager, pois as verificações de formato para esse caso de uso ocorrem apenas no modo graph. Esse problema pode levar a uma negação de serviço na inferência/treinamento, em que um invasor mal-intencionado pode enviar um ponto de dados contendo uma string em vez de um valor tf.float16. Efeitos semelhantes podem ser obtidos manipulando modelos e pontos de verificação salvos, substituindo um valor escalar tf.float16 por uma string escalar, o que aciona o problema devido às conversões automáticas. Isso pode ser facilmente reproduzido com tf.constant(“hello”, tf.float16), se a execução ansiosa estiver habilitada.Recomendações
Para versões anteriores à 1.15.1, atualize para o TensorFlow 1.15.1 ou 2.1.0.
Para versões anteriores à 2.0.1, atualize para o TensorFlow 2.0.1 ou 2.1.0.
Como solução temporária, considere desativar a execução antecipada até que um patch esteja disponível.
Restrinja o acesso à função
tf.constant com o tipo tf.float16 para minimizar o risco de exploração.Evite usar o tipo
tf.float16 nos pontos de extremidade da API afetados até que o problema seja resolvido.Exploit
Correção
RCE
Improper Check for Exceptional Conditions
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Tensorflow