PT-2022-26125 · Google · Tensorflow

Thibaut Goetghebuer-Planchon

·

Publicado

2022-11-18

·

Atualizado

2024-03-06

·

CVE-2022-41894

CVSS v3.1

7.1

Alta

VetorAV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do TensorFlow anteriores à 2.11
Versões do TensorFlow 2.10.1 e anteriores
Versões do TensorFlow 2.9.3 e anteriores
Versões do TensorFlow 2.8.4 e anteriores
Descrição
O kernel de referência do operador CONV 3D TRANSPOSE do TensorFlow Lite incrementa incorretamente o data ptr ao adicionar o viés ao resultado. Em vez de data ptr += num channels;, deveria ser data ptr += output num channels;, pois se o número de canais de entrada for diferente do número de canais de saída, um resultado incorreto será retornado e ocorrerá um estouro de buffer se num channels > output num channels. Um invasor pode criar um modelo com um número específico de canais de entrada. Assim, é possível gravar valores específicos por meio do viés da camada fora dos limites do buffer. Esse ataque só funciona se o resolvedor de kernel de referência for usado no interpretador.
Recomendações
Para versões anteriores à 2.11, atualize para o TensorFlow 2.11 ou posterior.
Para versões 2.10.1 e anteriores, atualize para o TensorFlow 2.10.1 ou posterior.
Para versões 2.9.3 e anteriores, atualize para o TensorFlow 2.9.3 ou posterior.
Para versões 2.8.4 e anteriores, atualize para o TensorFlow 2.8.4 ou posterior.
Como solução temporária, considere desativar o operador CONV 3D TRANSPOSE até que um patch esteja disponível.
Restrinja o acesso ao resolvedor de kernel de referência para minimizar o risco de exploração.
Evite usar o experimental op resolver type=tf.lite.experimental.OpResolverType.BUILTIN REF em

Exploit

Correção

Buffer Overflow

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

Enumeração de Fraquezas

Identificadores relacionados

AZL-11532
BIT-TENSORFLOW-2022-41894
CVE-2022-41894
GHSA-H6Q3-VV32-2CQ5

Produtos afetados

Tensorflow