PT-2020-17646 · Rust · Heapless

Publicado

2020-11-02

·

Atualizado

2021-08-25

·

CVE-2020-36464

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 heapless anteriores à 0.6.1
Descrição
O problema decorre da implementação IntoIter Clone, que clona todo o Vec subjacente sem considerar se ele já foi parcialmente consumido. Isso pode levar a um acesso após liberação (use-after-free) se o iterador for parcialmente consumido, pois os itens consumidos serão copiados. Está disponível uma prova de conceito, demonstrando o potencial de exploração.
Recomendações
Para versões anteriores à 0.6.1, atualize para a versão 0.6.1 ou posterior para resolver o problema. Como solução alternativa temporária, considere evitar o uso da implementação Clone em instâncias IntoIter parcialmente consumidas para minimizar o risco de exploração.

Exploit

Correção

Use After Free

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36464
GHSA-QGWF-R2JJ-2CCV
RUSTSEC-2020-0145

Produtos afetados

Heapless