PT-2021-18543 · Arenavec · Arenavec

Publicado

2021-01-12

·

Atualizado

2021-08-25

·

CVE-2021-29930

CVSS v3.1

7.5

Alta

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-29930
GHSA-327X-39HH-65WF
GHSA-955P-RC5H-HG6H
RUSTSEC-2021-0040

Produtos afetados

Arenavec