PT-2020-17587 · Rust · Hashconsing

Publicado

2020-11-10

·

Atualizado

2021-08-25

·

CVE-2020-36215

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 hashconsing anteriores à 1.1.0
Descrição
O problema decorre da implementação, pelo crate hashconsing, das características Send e Sync para seu tipo HConsed sem as restrições adequadas. Isso permite que tipos não-Sync, como Cell, sejam compartilhados entre threads, levando a um comportamento indefinido e à corrupção de memória em programas concorrentes.
Recomendações
Para versões anteriores à 1.1.0, atualize para a versão 1.1.0 ou posterior para resolver o problema. Como solução temporária, considere restringir o uso do tipo HConsed apenas a tipos Sendable e Syncable para minimizar o risco de exploração. Evite compartilhar tipos não-Sync, como Cell, entre threads até que o problema seja resolvido.

Exploit

Correção

Memory Corruption

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36215
GHSA-RW2C-C256-3R53
RUSTSEC-2020-0107

Produtos afetados

Hashconsing