Rust · Signal-Simple Crate · CVE-2020-36446
**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<T> 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<T> com tipos que não sejam Send, como Arc<Cell< > ou MutexGuard<T>, 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.