PT-2020-17537 · Rust · Futures-Util
Publicado
2020-10-22
·
Atualizado
2022-05-24
·
CVE-2020-35905
CVSS v3.1
4.7
Média
| Vetor | AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do software vulnerável e versões afetadas
Versões do crate futures-util anteriores à 0.3.7
Descrição
Um problema no crate futures-util pode causar uma corrida de dados em determinadas situações de closure em código seguro. As versões afetadas possuíam uma implementação de Send/Sync para MappedMutexGuard que considerava apenas a variância em T, enquanto MappedMutexGuard desreferenciava para U. Isso poderia ter levado a corridas de dados em código Rust seguro quando um closure usado em
MutexGuard::map() retornasse U que não estivesse relacionado a T.Recomendações
Para versões anteriores à 0.3.7, atualize para a versão 0.3.7 ou posterior para corrigir o problema, corrigindo as implementações de Send e Sync e adicionando um marcador
PhantomData<&'a mut U> ao tipo MappedMutexGuard.Exploit
Correção
Race Condition
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Futures-Util