PT-2020-17643 · Rust · Noise Search Crate
Publicado
2020-12-10
·
Atualizado
2021-08-25
·
CVE-2020-36461
CVSS v3.1
8.1
Alta
| Vetor | AV: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 👾
Identificadores relacionados
Produtos afetados
Noise Search Crate