PT-2024-30568 · Russh · Russh

Noratrieb

·

Publicado

2024-08-14

·

Atualizado

2025-08-13

·

CVE-2024-43410

CVSS v4.0

8.7

Alta

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

CVE-2024-43410
GHSA-VGVV-X7XG-6CQG

Produtos afetados

Russh