PT-2020-17652 · Rust · Distrustor Crate

Publicado

2020-12-17

·

Atualizado

2021-08-25

·

CVE-2020-36470

CVSS v3.1

5.9

Média

VetorAV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
crate distrustor até 17/12/2020
Descrição
O problema decorre do tipo RingBuffer no crate distrustor, que não limita adequadamente o número de referências mutáveis. Isso se deve à maneira não atômica com que o RingBuffer recupera referências mutáveis do DataProvider. Como resultado, várias referências mutáveis podem ser criadas, levando a um comportamento indefinido das referências mutáveis aliasadas, bem como a corridas de dados. O RingBuffer também implementa as características Send e Sync para todos os tipos T, contribuindo para o problema.
Recomendações
Para versões do crate distrustor até 17/12/2020, considere restringir o uso do tipo RingBuffer até que um patch esteja disponível para impedir a criação de múltiplas referências mutáveis. Como solução temporária, evite usar o tipo RingBuffer em ambientes multithread para minimizar o risco de corridas de dados e comportamento indefinido. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.

Exploit

Race Condition

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36470
GHSA-W9R2-QRPM-4RMJ
RUSTSEC-2020-0150

Produtos afetados

Distrustor Crate