PT-2026-45017 · Eugeny+3 · Russh+1
CVE-2026-46702
·
Publicado
2026-05-29
·
Atualizado
2026-06-11
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
russh versões 0.34.0 a 0.61.0
Descrição
Quando a compressão SSH está habilitada, o software aceita pacotes compactados que passam nas verificações iniciais de comprimento de pacote de transporte, mas que se expandem para um tamanho muito maior após a descompressão. Isso ocorre porque o campo
packet length e o MAC são computados sobre a carga útil compactada, permitindo que um pacote pequeno na rede se transforme em um corpo de mensagem superdimensionado. Especificamente, a função Decompress::decompress() expandia seu buffer de saída por duplicação repetida sem impor um limite máximo pós-descompressão.Isso resulta em um problema de negação de serviço (DoS) remoto e exaustão de recursos no caminho de recebimento pós-descompressão. Em versões anteriores a 0.58.0, o caminho de descompressão utilizava
CryptoVec, o que agravava o impacto ao potencialmente causar a interrupção do processo em condições de memória limitada. Um invasor remoto não autenticado pode explorar isso negociando a compressão zlib e enviando um pacote SSH MSG DEBUG manipulado que permanece abaixo do limite de transporte de 256 KiB, mas excede o limite pretendido de pós-descompressão.Recomendações
Atualize para a versão 0.61.1 ou posterior.
Como medida paliativa temporária, desabilite a compressão SSH ou restrinja o uso de
zlib e zlib@openssh.com na configuração do servidor para evitar a negociação de pacotes compactados.Exploit
Correção
DoS
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
Rust-Russh