PT-2020-17643 · Rust · Noise Search Crate

Publicado

2020-12-10

·

Atualizado

2021-08-25

·

CVE-2020-36461

CVSS v3.1

8.1

Alta

VetorAV:N/AC:H/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 noise search até 10/12/2020
Descrição
O problema diz respeito à implementação incondicional de Send e Sync para MvccRwLock no crate noise search. Isso pode levar a corridas de dados quando tipos que são !Send ou !Sync (por exemplo, Rc<T>, Arc<Cell< >>) estão contidos dentro de MvccRwLock e são enviados através de limites de thread, resultando potencialmente em corrupção de memória. Além disso, as APIs seguras de MvccRwLock permitem violações de aliasing ao permitir que &T e LockResult<MutexGuard<Box<T>>> coexistam em regiões de tempo de vida conflitantes.
Recomendações
Como solução temporária, considere restringir o uso de MvccRwLock para impedir o envio de tipos que sejam !Send ou !Sync através dos limites de thread até que um patch esteja disponível.
Evite usar as APIs MvccRwLock que permitem violações de aliasing, como a coexistência de &T e LockResult<MutexGuard<Box<T>>> em regiões de tempo de vida conflitantes, até que o problema seja resolvido.
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.

Exploit

Command Injection

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-36461
GHSA-WXJF-9F4G-3V44
RUSTSEC-2020-0141

Produtos afetados

Noise Search Crate