PT-2020-17536 · Rust · Crossbeam-Channel
CVE-2020-35904
·
Publicado
2020-06-26
·
Atualizado
2021-08-25
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 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