PT-2024-30568 · Russh · Russh
Noratrieb
·
Publicado
2024-08-14
·
Atualizado
2025-08-13
·
CVE-2024-43410
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Nome do software vulnerável e versões afetadas
Versões do russh anteriores à 0.44.1
Descrição
O problema decorre da alocação de uma quantidade não confiável de memória com base no comprimento especificado em um pacote SSH, que pode ser definido como qualquer valor por um cliente. Isso permite que qualquer usuário não autenticado faça com que um servidor russh fique sem memória (OOM), levando a uma negação de serviço (DoS). Um pacote SSH consiste em um comprimento de 4 bytes no formato big-endian, seguido por um fluxo de bytes desse comprimento. Após analisar e, potencialmente, descriptografar o comprimento de 4 bytes, o russh aloca memória suficiente para esse fluxo de bytes como uma otimização de desempenho. No entanto, esse comprimento é totalmente não confiável e pode ser manipulado pelo cliente, causando alocação excessiva de memória e subsequente OOM.
Recomendações
Para versões anteriores à 0.44.1, atualize para a versão 0.44.1 ou posterior para resolver o problema. Como solução temporária, considere implementar limites de comprimento de pacote para evitar alocação excessiva de memória, conforme sugerido pela RFC 4253. Isso pode ajudar a evitar ataques de negação de serviço e/ou estouro de buffer, garantindo que o comprimento do pacote seja razoável.
Exploit
Correção
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Russh