PT-2020-17536 · Rust · Crossbeam-Channel
Publicado
2020-06-26
·
Atualizado
2021-08-25
·
CVE-2020-35904
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 crossbeam-channel anteriores à 0.4.4
Descrição
Foi descoberta uma falha no crate crossbeam-channel para Rust. Ele possui expectativas incorretas sobre a relação entre a alocação de memória e o número de elementos do iterador. A versão afetada do canal
bounded deste crate assume incorretamente que Vec::from iter alocou uma capacidade igual ao número de elementos do iterador. O Vec::from iter não garante isso e pode alocar memória extra. O destrutor do canal bounded reconstrói o Vec a partir do ponteiro bruto com base nas suposições incorretas descritas acima. Isso é incorreto e causa a desalocação com a capacidade incorreta quando o Vec::from iter alocou tamanhos diferentes do número de elementos do iterador.Recomendações
Para resolver o problema, atualize para a versão 0.4.4 do crossbeam-channel. Como solução temporária, considere evitar o uso do canal
bounded até que um patch seja aplicado. Restrinja o acesso ao canal bounded para minimizar o risco de exploração. Evite usar Vec::from iter no canal bounded afetado até que o problema seja resolvido.Exploit
Correção
Buffer Overflow
Memory Leak
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Crossbeam-Channel