PT-2020-17615 · Rust · Unicycle
Publicado
2020-11-15
·
Atualizado
2021-08-25
·
CVE-2020-36436
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 unicycle anteriores à 0.7.1
Descrição
A vulnerabilidade permite o envio de tipos não-Send para outras threads e o acesso simultâneo a tipos não-Sync a partir de múltiplas threads. Isso pode resultar em uma corrida de dados e corrupção de memória quando tipos que oferecem mutabilidade interna sem sincronização estão contidos em
PinSlab<T> ou Unordered<T, S> e são acessados simultaneamente por múltiplas threads.Recomendações
Para versões anteriores à 0.7.1, atualize para a versão 0.7.1 ou posterior, que inclui os commits corrigidos 92f40b4 e 6a6c367, os quais adicionam os limites de trait
T: Send e T: Sync às implementações Send e Sync para PinSlab<T> e Unordered<T, S>. Como solução alternativa temporária, considere evitar o acesso simultâneo a tipos contidos em PinSlab<T> ou Unordered<T, S> que forneçam mutabilidade interna sem sincronização.Correção
Race Condition
Buffer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Unicycle