PT-2020-17626 · Rust · Signal-Simple Crate
Kitsuneninetails
·
Publicado
2020-11-15
·
Atualizado
2021-08-25
·
CVE-2020-36446
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 signal-simple até 15/11/2020
Descrição
Foi detectada uma falha no crate signal-simple, onde existem implementações incondicionais de
Send e Sync para SyncChannel<T>. Isso permite que os usuários criem um comportamento indefinido no Rust seguro ao enviar T: !Send para outras threads com as APIs SyncChannel::send/recv. Usar T = Arc<Cell< > pode levar a corridas de dados e corrupção de memória, enquanto usar T = MutexGuard pode permitir o desbloqueio de um mutex por uma thread que não o bloqueou.Recomendações
Para versões do crate signal-simple até 15/11/2020, considere evitar o uso de SyncChannel com tipos que não sejam Send, como Arc<Cell< > ou MutexGuard, para prevenir comportamento indefinido e possível corrupção de memória. Como solução temporária, considere restringir o uso das APIs SyncChannel::send/recv até que um patch esteja disponível. No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.
Race Condition
Buffer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Signal-Simple Crate