🔥 Fique por dentro das novidades mais quentes do momento! 🔥
Confira agora e compartilhe com seus amigos!
Apoie esse projeto de divulgacao de noticias! Clique aqui
Uma prova de conceito pública foi lançada para CVE-2026-55200, uma falha crítica no libssh2 que permite que um servidor SSH malicioso ou comprometido acione corrupção de memória em um cliente conectado, com possível execução de código. Sem credenciais, sem interação do usuário. O bug afeta todas as versões até 1.11.1 inclusive e carrega uma pontuação CVSS 4.0 de 9,2.
libssh2 é uma biblioteca SSH do lado do cliente, não um servidor. Essa distinção é importante. Ele está incorporado em curl, Git, PHP, agentes de backup, atualizadores de firmware e uma longa lista de dispositivos.
Qualquer coisa que o vincule e alcance um endpoint SSH não confiável é um alvo potencial. Muitas dessas cópias estão vinculadas estaticamente, portanto, uma atualização do pacote de distribuição não as afetará e você pode não saber que elas estão lá.
Como funciona o bug
A falha reside em ssh2_transport_read() em transport.c, a função que analisa os pacotes SSH recebidos durante o handshake. Ele leu o campo packet_length controlado pelo invasor e rejeitou apenas valores abaixo de 1. Ele nunca aplicou um limite superior.
O cálculo do tamanho adiciona packet_length a alguns valores pequenos usando aritmética de 32 bits, de modo que um comprimento de 0xffffffff resulta em um número minúsculo. libssh2 então aloca um buffer dimensionado para o número minúsculo, enquanto o código posterior grava nele o pacote completo e superdimensionado.
O resultado é uma gravação de heap fora dos limites, classificada como CWE-680, estouro de número inteiro para estouro de buffer, um primitivo clássico para execução de código. A correção adiciona a verificação ausente, rejeitando qualquer packet_length acima de LIBSSH2_PACKET_MAXPAYLOAD antes da execução matemática.
libssh2 já tropeçou nisso antes. Em 2019, ele lançou a versão 1.8.1 para corrigir um lote de nove falhas lideradas pelo CVE-2019-3855, um estouro de número inteiro quase idêntico em sua leitura de transporte que também permitia que um servidor malicioso executasse código em um cliente conectado. Sete anos depois, a mesma classe de bug está de volta no mesmo código.
O pesquisador de segurança Tristan Madani relatou o problema. Os mantenedores mesclaram o patch por meio da solicitação pull nº 2052 em 12 de junho. O VulnCheck publicou o CVE em 17 de junho.
Uma prova pública de conceito foi publicada no “exploitarium”, um arquivo GitHub de código de exploração cujo autor afirma que as entradas foram postadas sem relatório prévio. O arquivo contém uma estrutura de gatilho SSH verificada localmente e um chicote RCE local controlado para o bug libssh2, não uma exploração remota pronta para uso. A execução confiável de código em um aplicativo ativo ainda dependeria do binário de destino, do comportamento do alocador, das mitigações e de como o software incorpora o libssh2.
Vale a pena pesar o contexto. O autor admite que o arquivo ficou incompleto, com algumas entradas fracas e a IA conduzindo a confusão. Até o momento, a classificação de exploração da CISA para o CVE ainda é nenhuma, e nenhum uso na natureza foi relatado.
O que fazer
Ainda não há uma versão fixa do libssh2. O patch está na fonte principal e uma versão marcada ainda está sendo preparada, então as distribuições Linux e os projetos downstream estão fazendo backport por conta própria; O Debian, por exemplo, já tem uma versão reparada em testes.
O NHS England Digital emitiu um comunicado exortando as organizações afetadas a se atualizarem.
Faça um inventário de tudo que vincula o libssh2, incluindo cópias estáticas ou agrupadas que os gerenciadores de pacotes não sinalizarão. Implantações curl, Git e PHP são operadoras comuns.
Aplique uma versão que inclua o commit 97acf3d, seja um backport de distribuição ou uma versão de origem corrigida, e observe o canal de consultoria do seu fornecedor para saber o status da versão.
Até a correção, restrinja as conexões SSH de saída a servidores confiáveis e verifique as chaves do host. Dê prioridade aos clientes que acessam servidores SSH externos ou resolvem hosts por meio de nomes que um invasor pode redirecionar. Fique atento a anomalias de pacotes superdimensionados e falhas inexplicáveis de clientes.
Corrija o restante do lote também: CVE-2026-55199 (CVSS 8.2), uma negação de serviço que prende um cliente conectado em um loop de CPU por meio de uma contagem de extensão falsa, e CVE-2025-15661 (CVSS 8.3), uma sobreleitura de heap SFTP.
O problema principal é um bug de corrupção de memória pré-autenticação no código que é enviado para mais clientes e dispositivos do que qualquer um já mapeou totalmente.
As questões em aberto são quão rápido alguém transforma o equipamento local em uma exploração remota confiável e quantas cópias agrupadas permanecem vulneráveis porque ninguém se lembra de ter enviado o libssh2 para dentro.
libssh2 é uma biblioteca SSH do lado do cliente, não um servidor. Essa distinção é importante. Ele está incorporado em curl, Git, PHP, agentes de backup, atualizadores de firmware e uma longa lista de dispositivos.
Qualquer coisa que o vincule e alcance um endpoint SSH não confiável é um alvo potencial. Muitas dessas cópias estão vinculadas estaticamente, portanto, uma atualização do pacote de distribuição não as afetará e você pode não saber que elas estão lá.
Como funciona o bug
A falha reside em ssh2_transport_read() em transport.c, a função que analisa os pacotes SSH recebidos durante o handshake. Ele leu o campo packet_length controlado pelo invasor e rejeitou apenas valores abaixo de 1. Ele nunca aplicou um limite superior.
O cálculo do tamanho adiciona packet_length a alguns valores pequenos usando aritmética de 32 bits, de modo que um comprimento de 0xffffffff resulta em um número minúsculo. libssh2 então aloca um buffer dimensionado para o número minúsculo, enquanto o código posterior grava nele o pacote completo e superdimensionado.
O resultado é uma gravação de heap fora dos limites, classificada como CWE-680, estouro de número inteiro para estouro de buffer, um primitivo clássico para execução de código. A correção adiciona a verificação ausente, rejeitando qualquer packet_length acima de LIBSSH2_PACKET_MAXPAYLOAD antes da execução matemática.
libssh2 já tropeçou nisso antes. Em 2019, ele lançou a versão 1.8.1 para corrigir um lote de nove falhas lideradas pelo CVE-2019-3855, um estouro de número inteiro quase idêntico em sua leitura de transporte que também permitia que um servidor malicioso executasse código em um cliente conectado. Sete anos depois, a mesma classe de bug está de volta no mesmo código.
O pesquisador de segurança Tristan Madani relatou o problema. Os mantenedores mesclaram o patch por meio da solicitação pull nº 2052 em 12 de junho. O VulnCheck publicou o CVE em 17 de junho.
Uma prova pública de conceito foi publicada no “exploitarium”, um arquivo GitHub de código de exploração cujo autor afirma que as entradas foram postadas sem relatório prévio. O arquivo contém uma estrutura de gatilho SSH verificada localmente e um chicote RCE local controlado para o bug libssh2, não uma exploração remota pronta para uso. A execução confiável de código em um aplicativo ativo ainda dependeria do binário de destino, do comportamento do alocador, das mitigações e de como o software incorpora o libssh2.
Vale a pena pesar o contexto. O autor admite que o arquivo ficou incompleto, com algumas entradas fracas e a IA conduzindo a confusão. Até o momento, a classificação de exploração da CISA para o CVE ainda é nenhuma, e nenhum uso na natureza foi relatado.
O que fazer
Ainda não há uma versão fixa do libssh2. O patch está na fonte principal e uma versão marcada ainda está sendo preparada, então as distribuições Linux e os projetos downstream estão fazendo backport por conta própria; O Debian, por exemplo, já tem uma versão reparada em testes.
O NHS England Digital emitiu um comunicado exortando as organizações afetadas a se atualizarem.
Faça um inventário de tudo que vincula o libssh2, incluindo cópias estáticas ou agrupadas que os gerenciadores de pacotes não sinalizarão. Implantações curl, Git e PHP são operadoras comuns.
Aplique uma versão que inclua o commit 97acf3d, seja um backport de distribuição ou uma versão de origem corrigida, e observe o canal de consultoria do seu fornecedor para saber o status da versão.
Até a correção, restrinja as conexões SSH de saída a servidores confiáveis e verifique as chaves do host. Dê prioridade aos clientes que acessam servidores SSH externos ou resolvem hosts por meio de nomes que um invasor pode redirecionar. Fique atento a anomalias de pacotes superdimensionados e falhas inexplicáveis de clientes.
Corrija o restante do lote também: CVE-2026-55199 (CVSS 8.2), uma negação de serviço que prende um cliente conectado em um loop de CPU por meio de uma contagem de extensão falsa, e CVE-2025-15661 (CVSS 8.3), uma sobreleitura de heap SFTP.
O problema principal é um bug de corrupção de memória pré-autenticação no código que é enviado para mais clientes e dispositivos do que qualquer um já mapeou totalmente.
As questões em aberto são quão rápido alguém transforma o equipamento local em uma exploração remota confiável e quantas cópias agrupadas permanecem vulneráveis porque ninguém se lembra de ter enviado o libssh2 para dentro.
Fonte: https://thehackernews.com
#samirnews #samir #news #boletimtec #poc #público #lançado #para #falha #crítica #de #ssh #do #lado #do #cliente #libssh2 #cve202655200
⚡ Fique ligado: novidades e promoções em breve por aqui! ⚡
Postar um comentário