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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2020-36446
GHSA-36CG-4JFF-5863
GHSA-8892-84WF-CG8F
RUSTSEC-2020-0126

Produtos afetados

Signal-Simple Crate