PT-2026-33753 · Pypi · Thin-Vec
Juhyung Son
·
Publicado
2026-04-14
·
Atualizado
2026-05-12
·
CVE-2026-6654
CVSS v3.1
5.1
Média
| Vetor | AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
Name of the Vulnerable Software and Affected Versions
thin vec versão 0.2.14
Description
Um problema de Double-Free e Use-After-Free (UAF) existe nas funções
IntoIter::drop e ThinVec::clear. O problema ocorre quando um panic é disparado durante a desalocação sequencial de elementos através da função ptr::drop in place(), o que impede a execução do código subsequente de limpeza de comprimento (set len(0)). Durante o desenrolar da pilha (stack unwinding), o contêiner é descartado novamente, levando à liberação repetida de memória já liberada. Isso pode ser disparado usando código Rust seguro. Quando combinado com tipos Box<dyn Trait>, isso pode permitir a Execução Arbitrária de Código (ACE) por meio de heap spray e sequestro de vtable, onde uma vtable falsa controlada por um invasor substitui um slot de ponteiro gordo liberado para redirecionar a execução.Recommendations
Para a versão 0.2.14, implemente um padrão DropGuard inserindo um guarda RAII antes de
ptr::drop in place() para garantir que set len(0) seja chamado independentemente de um panic, ou adote uma abordagem de pré-zeramento, definindo o comprimento como 0 antes de chamar ptr::drop in place().
Como solução temporária, evite usar a função ThinVec::clear ou descartar IntoIter antes que ele seja totalmente consumido ao armazenar tipos cuja implementação de Drop possa causar panic.Correção
Double Free
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Thin-Vec