PT-2021-17843 · Diesel · Diesel

Publicado

2021-03-05

·

Atualizado

2022-05-24

·

CVE-2021-28305

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
**Nome do software vulnerável e versões afetadas:
versões do crate diesel anteriores à 1.4.6
Descrição:
Foi detectada uma falha no crate diesel para Rust, na qual ocorre um uso após liberação (use-after-free) no backend do SQLite. Isso acontece porque a semântica de sqlite3 column name não é seguida, especificamente no que diz respeito à validade do ponteiro de string retornado. O ponteiro é válido até que a instrução preparada seja destruída ou repreparada, mas no diesel crate, os nomes dos campos são armazenados para uso posterior após a chamada de sqlite3 step(), o que invalida o ponteiro.
Recomendações:
Para versões anteriores à 1.4.6, atualize para a versão 1.4.6 ou posterior para resolver o problema. Como solução temporária, considere modificar a infraestrutura query by name para evitar o armazenamento dos nomes de campo como fatias de string para uso posterior, ou certifique-se de que sqlite3 column name não seja chamado após sqlite3 step().

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-2021-28305
GHSA-J8Q9-5RP9-4MV9
RUSTSEC-2021-0037

Produtos afetados

Diesel