PT-2020-17552 · Rust · Socket2
Publicado
2020-11-06
·
Atualizado
2022-05-24
·
CVE-2020-35920
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 socket2 anteriores à 0.3.16
Descrição
O problema decorre do fato de o crate socket2 presumir que
std::net::SocketAddrV4 e std::net::SocketAddrV6 possuem o mesmo layout de memória que a representação C do sistema sockaddr. Essa suposição faz com que o crate simplesmente converta ponteiros para transformar endereços de soquete na representação do sistema. No entanto, como a biblioteca padrão não garante um layout de memória específico, quaisquer alterações na implementação podem resultar em acesso inválido à memória. Notavelmente, tais alterações não gerariam avisos ou erros, podendo levar a problemas imprevistos.Recomendações
Para versões anteriores à 0.3.16, atualize para a versão 0.3.16 ou posterior para resolver o problema. Como solução temporária, considere evitar o uso de
std::net::SocketAddrV4 e std::net::SocketAddrV6 em situações em que seu layout de memória possa ser crítico até que a atualização possa ser aplicada.Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Socket2