PT-2021-21762 · Google · Tensorflow
CVSS v3.1
7.7
Alta
| Vetor | AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.6.0
TensorFlow versão 2.5.1
TensorFlow versão 2.4.3
TensorFlow versão 2.3.4
Descrição
O problema surge quando um usuário não fornece argumentos que determinem um tensor esparso válido, fazendo com que a implementação de
tf.raw ops.SparseTensorSliceDataset desreferencie um ponteiro nulo. Isso ocorre quando indices ou values são fornecidos para um tensor esparso vazio, mas o outro não. Especificamente, se indices estiver vazio, o código que realiza a validação resulta em uma desreferência de ponteiro nulo. O indices no código C++ é respaldado por um std::vector vazio, e chamar indices->dim size(0) resulta na desreferência de um ponteiro nulo.Recomendações
Para versões do TensorFlow anteriores à 2.6.0, atualize para o TensorFlow 2.6.0 ou posterior para resolver o problema.
Para a versão 2.5.1 do TensorFlow, aplique o patch do commit 02cc160e29d20631de3859c6653184e3f876b9d7 do GitHub ou atualize para uma versão posterior.
Para a versão 2.4.3 do TensorFlow, aplique o patch do commit 02cc160e29d20631de3859c6653184e3f876b9d7 no GitHub ou atualize para uma versão posterior.
Para a versão 2.3.4 do TensorFlow, aplique o patch do commit 02cc160e29d20631de3859c6653184e3f876b9d7 do GitHub ou atualize para uma versão mais recente.
Como solução alternativa temporária, considere validar os
indices e values fornecidos pelo usuário para garantir que eles determinem um tensor esparso válido antes de passá-los para tf.raw ops.SparseTensorSliceDataset.Correção
NULL Pointer Dereference
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Tensorflow