PT-2020-14283 · Google · Tensorflow Lite

CVE-2020-15212

·

Publicado

2020-09-25

·

Atualizado

2024-03-06

CVSS v4.0

9.1

Crítica

VetorAV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:H/SC:L/SI:L/SA:H
Nome do software vulnerável e versões afetadas
Versões do TensorFlow Lite anteriores à 2.2.1
Versões do TensorFlow Lite anteriores à 2.3.1
Descrição
A vulnerabilidade permite que modelos que utilizam a soma de segmentos (segment sum) provoquem gravações fora dos limites dos buffers alocados na pilha (heap), ao inserir elementos negativos no tensor segment ids. Usuários com acesso a segment ids data podem alterar output index e, em seguida, gravar fora do buffer output data, o que pode resultar em uma falha de segmentação ou corromper ainda mais a memória. Isso pode ser combinado com outras vulnerabilidades para criar exploits mais avançados.
Recomendações
Para versões anteriores à 2.2.1, atualize para o TensorFlow 2.2.1.
Para versões anteriores à 2.3.1, atualize para o TensorFlow 2.3.1.
Como solução alternativa temporária, considere adicionar um Verifier personalizado ao código de carregamento do modelo para garantir que todos os segment ids sejam positivos, embora isso só resolva o caso em que os segment ids são armazenados estaticamente no modelo. Uma validação semelhante poderia ser feita se os segment ids fossem gerados em tempo de execução entre etapas de inferência. Se os segment ids forem gerados como saídas de um tensor durante as etapas de inferência, não há soluções alternativas possíveis e recomenda-se que os usuários atualizem para o código corrigido.

Exploit

Correção

Memory Corruption

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

Enumeração de Fraquezas

Identificadores relacionados

BIT-TENSORFLOW-2020-15212
CVE-2020-15212
GHSA-HX2X-85GR-WRPQ
PYSEC-2020-135
PYSEC-2020-292
PYSEC-2020-327

Produtos afetados

Tensorflow Lite