PT-2022-15079 · Google · Tensorflow

Faysal Hossain Shezan

·

Publicado

2022-02-03

·

Atualizado

2024-03-06

·

CVE-2022-21739

CVSS v4.0

7.1

Alta

VetorAV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.8.0
As versões 2.7.1, 2.6.3 e 2.5.3 do TensorFlow também são afetadas
Descrição
A implementação de QuantizedMaxPool apresenta um comportamento indefinido em que entradas controladas pelo usuário podem acionar uma ligação de referência a um ponteiro nulo. Essa vulnerabilidade pode ser explorada ao usar a função tf.raw ops.QuantizedMaxPool com parâmetros específicos, como input, min input, max input, ksize, strides e padding. Por exemplo, o trecho de código a seguir demonstra a vulnerabilidade:
python

import tensorflow as tf




tf.raw ops.QuantizedMaxPool(

  input = tf.constant([[[[4]]]], dtype=tf.quint8),

  min input = [],

  max input = [1],

  ksize = [1, 1, 1, 1],

  strides = [1, 1, 1, 1],

  padding = “SAME”, name=None

)
O problema foi relatado por Faysal Hossain Shezan, da Universidade da Virgínia.
Recomendações
Para versões do TensorFlow anteriores à 2.8.0, atualize para a versão 2.8.0 ou posterior para resolver o problema.
Para as versões 2.7.1, 2.6.3 e 2.5.3 do TensorFlow, atualize para as respectivas versões corrigidas para resolver o problema.
Como solução alternativa temporária, considere evitar o uso da função QuantizedMaxPool até que uma correção esteja disponível.

Exploit

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

BIT-TENSORFLOW-2022-21739
CVE-2022-21739
GHSA-3MW4-6RJ6-74G5
OPENSUSE-SU-2024:12116-1
PYSEC-2022-118
PYSEC-2022-63

Produtos afetados

Tensorflow