PT-2020-17547 · Rust · Futures-Intrusive
Matthias247
·
Publicado
2020-10-31
·
Atualizado
2021-08-25
·
CVE-2020-35915
CVSS v3.1
5.5
Média
| Vetor | AV:L/AC:L/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-intrusive anteriores à 0.4.0
Descrição
Um problema no crate futures-intrusive permite corridas de dados entre threads de tipos não-Sync, devido ao GenericMutexGuard receber o traço automático Sync, desde que o tipo T seja Send. Esse problema de segurança pode levar a corridas de dados, causando potencialmente travamentos e erros de segmentação em código Rust seguro. O problema surge porque o guard representa um bloqueio adquirido e permite acesso simultâneo aos dados subjacentes a partir de diferentes threads, mas só deveria ser Sync quando os dados subjacentes o forem.
Recomendações
Para versões anteriores à 0.4.0, atualize para a versão 0.4.0 ou posterior, que inclui a correção por meio da adição de uma restrição T: Send + Sync para o trait Sync do GenericMutexGuard.
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-Intrusive