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

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-6654
GHSA-XPHW-CQX3-667J
RUSTSEC-2026-0103

Produtos afetados

Thin-Vec