PT-2021-18546 · Crates.Io · Insert Many

Publicado

2021-01-26

·

Atualizado

2021-08-25

·

CVE-2021-29933

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
Crate insert many até 26/01/2021
Descrição
Uma falha no crate insert many para Rust pode fazer com que elementos sejam inseridos duas vezes se o método next() de um iterador entrar em pânico. Isso ocorre porque as versões afetadas do insert many usavam ptr::copy para mover itens em um vetor, duplicando sua propriedade, e então iteravam sobre um Iterator fornecido para inserir novos itens. Se o método next() do iterador entrar em pânico, o vetor descartaria os mesmos elementos duas vezes.
Recomendações
Para o crate insert many até 26/01/2021, considere atualizar para uma versão que não use ptr::copy para mover itens em um vetor, a fim de evitar que os elementos sejam descartados duas vezes em caso de panico. Como solução temporária, considere lidar com o panico no método next() para evitar o descarte duplo de elementos.

Exploit

Correção

Double Free

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-29933
GHSA-29HG-R7C7-54FR
RUSTSEC-2021-0042

Produtos afetados

Insert Many