PT-2020-17591 · Rust · Atomic-Option Crate

Publicado

2020-10-31

·

Atualizado

2021-08-25

·

CVE-2020-36219

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 atomic-option até 31/10/2020
Descrição
O problema diz respeito ao crate atomic-option, no qual AtomicOption<T> implementa Sync incondicionalmente. Isso permite a movimentação de tipos não-Sync, como Rc<T> ou Arc<Cell<T>>, entre limites de threads, o que pode levar a corridas de dados e comportamento indefinido. Além disso, é possível enviar tipos não-Send, como std::sync::MutexGuard, para outras threads, resultando em comportamento indefinido.
Recomendações
Para a crate atomic-option até 31/10/2020, considere evitar o uso de AtomicOption<T> com tipos não-Sync para prevenir corridas de dados e comportamento indefinido. Como solução temporária, restrinja a movimentação de tipos não-Sync entre limites de thread até que um patch esteja disponível.

Exploit

Correção

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36219
GHSA-8GF5-Q9P9-WVMC
RUSTSEC-2020-0113

Produtos afetados

Atomic-Option Crate