Yakun Zhang

Pesquisador deBaidu Security Labs
#266de 53,779
582.6CVSS total
Vulnerabilidades · 88
Média
49
Alta
38
Crítica
1
PT-2021-21806
6.8
2021-08-12
Google · Tensorflow · CVE-2021-37687
**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** O problema decorre do fato de a implementação GatherNd do TFLite não suportar índices negativos, mas não possuir verificações para essa situação, permitindo que um invasor leia dados arbitrários da pilha (heap) criando um modelo com valores negativos em `indices`. Um problema semelhante existe na implementação do Gather. Isso pode ser explorado criando-se cuidadosamente um modelo, conforme demonstrado em um exemplo em Python fornecido, que utiliza a função `tf.gather` com valores negativos em `indices` para ler dados da pilha. **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 temporária, considere desativar as implementações `GatherNd` e `Gather` até que um patch esteja disponível. Restrinja o acesso ao kernel do TFLite vulnerável para minimizar o risco de exploração. Evite usar valores negativos em `indices` para os endpoints da API afetados até que o problema seja resolvido.
PT-2021-18264
7.8
2021-05-14
Google · Tensorflow · CVE-2021-29513
**Nome do software vulnerável e versões afetadas: Versões do TensorFlow anteriores à 2.5.0 Versão 2.4.2 do TensorFlow Versão 2.3.3 do TensorFlow Versão 2.2.3 do TensorFlow Versão 2.1.4 do TensorFlow Descrição: O problema surge ao chamar operações TF com tensores de tipos não numéricos, resultando em desreferências de ponteiro nulo. Isso ocorre devido a uma confusão de tipos na conversão de matriz Python para matriz C++. O número estimado de dispositivos potencialmente afetados não foi fornecido. Não há informações sobre incidentes reais em que esse problema tenha sido explorado. Os detalhes técnicos sobre a exploração incluem: - A conversão de matriz Python para matriz C++ é vulnerável a uma confusão de tipos. - O `pyarray type` é `NPY VOID`, mas o campo `descr` é tal que `descr->field = NULL`, acionando uma desreferência nula em `PyArrayDescr to TF DataType`. - Os pontos de extremidade da API e as variáveis não são mencionados explicitamente, mas a vulnerabilidade envolve o uso das funções `tf.random.truncated normal`, `tf.random.stateless truncated normal`, `tf.one hot`, `tf.range` e `tf.raw ops.ResourceCountUpTo`. Recomendações: - Para a versão 2.1.4 do TensorFlow, atualize para uma versão mais recente que inclua a correção. - Para a versão 2.2.3 do TensorFlow, atualize para uma versão mais recente que inclua a correção. - Para a versão 2.3.3 do TensorFlow, atualize para uma versão mais recente que inclua a correção. - Para a versão 2.4.2 do TensorFlow, atualize para uma versão mais recente que inclua a correção. - Para versões anteriores à 2.5.0, atualize para a versão 2.5.0 ou posterior para resolver
PT-2021-18274
5.5
2021-05-14
Google · Tensorflow · CVE-2021-29523
**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 provocar uma negação de serviço por meio de uma falha no `CHECK` em `tf.raw ops.AddManySparseToTensorsMap`. Isso ocorre porque a implementação considera os valores especificados em `sparse shape` como dimensões para a forma de saída. O construtor `TensorShape` usa uma operação `CHECK` que é acionada quando `InitDims` retorna um status diferente de OK. Isso acontece quando a adição de uma dimensão a partir do argumento resulta em estouro. O problema se deve a uma implementação legada do construtor e pode ser evitado usando `BuildTensorShapeBase` ou `AddDimWithStatus` para lidar com estouros. Recomendações: Para versões do TensorFlow anteriores à 2.5.0, atualize para a versão 2.5.0 ou posterior. Para a versão 2.4.2 do TensorFlow, aplique o patch do commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c do GitHub. Para a versão 2.3.3 do TensorFlow, aplique o patch do commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c no GitHub. Para a versão 2.2.3 do TensorFlow, aplique o patch do commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c no GitHub. Para a versão 2.1.4 do TensorFlow, aplique o patch do commit 69c68ecbb24dff3fa0e46da0d16c821a2dd22d7c no GitHub. Como solução alternativa temporária, considere evitar o uso de `tf.raw ops.AddManySparseToTensorsMap` com valores grandes de `sparse shape` até que um patch seja aplicado.