PT-2021-18543 · Arenavec · Arenavec
Publicado
2021-01-12
·
Atualizado
2021-08-25
·
CVE-2021-29930
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do crate arenavec até 12/01/2021
Versões do crate arenavec até a 0.1.1
Descrição
O problema diz respeito ao crate arenavec para Rust, onde pode ocorrer uma liberação de memória não inicializada em caso de panico na função
T::default(). Isso ocorre porque as versões afetadas do crate não protegiam contra possíveis panics provenientes das funções fornecidas pelo usuário T::default() e T::drop(). Um panic dentro de T::default() leva à liberação de T não inicializado quando invocado a partir de common::Slice::<T, H>::new(). Um panic dentro de T::drop() leva a uma dupla perda de T quando invocado a partir de common::SliceVec::<T, H>::resize with() ou common::SliceVec::<T, H>::resize(). Qualquer um dos casos causa corrupção de memória na memória heap.Recomendações
Para versões até 12/01/2021, considere desativar as funções
T::default() e T::drop() até que um patch esteja disponível para evitar possíveis panics.Para versões até 0.1.1, restrinja o acesso a
common::Slice::<T, H>::new(), common::SliceVec::<T, H>::resize with() e common::SliceVec::<T, H>::resize() para minimizar o risco de exploração.No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.
Exploit
Double Free
Memory Corruption
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Arenavec