RegreSSHion (CVE-2024-6387): O RCE Crítico que Ameaçou 14 Milhões de Servidores Linux
Em 1º de julho de 2024, pesquisadores da Qualys divulgaram a RegreSSHion (CVE-2024-6387), uma vulnerabilidade crítica no servidor do OpenSSH (sshd) que reintroduziu uma antiga falha de race condition (condição de corrida) no manipulador de sinais — regressão de uma falha original de 2006 (CVE-2006-5051). Ela permite que um atacante remoto não autenticado obtenha execução remota de código (RCE) com privilégios máximos de root em distribuições Linux modernas com arquitetura glibc.
O fato de a vulnerabilidade permitir o controle total da máquina sem exigir qualquer senha ou chave privada tornou esta falha uma das piores ameaças a servidores expostos à internet pública em anos — mais de 14 milhões de instâncias do OpenSSH Server foram identificadas potencialmente vulneráveis e expostas à internet.
⚠️ Análise de Impacto
- Gravidade Máxima: Permite execução de comandos arbitrários como root em sistemas de produção.
- Sem Autenticação: A exploração ocorre inteiramente no handshake de pré-autenticação do SSH.
- Versões Afetadas: OpenSSH 8.5p1 até 9.7p1 (versões entre 4.4p1 e 8.5p1 não foram afetadas); corrigido na versão 9.8/9.8p1.
⟩_ A Raiz do Problema: Race Condition no Manipulador de Sinais
A falha RegreSSHion ocorre no processo privilégio-separado do sshd. Quando um cliente se conecta ao servidor SSH, mas não conclui a autenticação dentro do tempo limite definido por LoginGraceTime (padrão de 120 segundos), o sinal de alarme do sistema (SIGALRM) é disparado.
O tratador de sinal do alarme (signal handler) tenta desalocar estruturas na memória chamando funções não reentrantes, como syslog() ou free(). Se um atacante cronometrar com precisão cirúrgica o envio de pacotes adicionais no exato instante em que o sinal de alarme interrompe a execução comum do programa, é possível induzir o processo a ler posições de memória corrompidas e desviar o ponteiro de instrução do processador para códigos maliciosos inseridos no heap da glibc.
Embora a exploração exija milhares de conexões consecutivas para sincronizar com precisão o atraso do sinal (método conhecido como heap grooming), clusters de exploração automatizados já estão sendo detectados ativamente varrendo faixas de IPs na internet.
⟩_ Como Mitigar a Vulnerabilidade Imediatamente
A melhor solução é atualizar o pacote do OpenSSH para a versão corrigida provida pela sua distribuição Linux. Caso não seja possível atualizar de imediato, você pode mitigar a vulnerabilidade alterando a configuração padrão do sshd_config:
# 1. Edite o arquivo de configuração do SSH daemon
sudo nano /etc/ssh/sshd_config
# 2. Configure o LoginGraceTime para ZERO (desativa o timer vulnerável)
LoginGraceTime 0
# 3. Reinicie o serviço sshd para aplicar
sudo systemctl restart ssh
LoginGraceTime 0 previne a exploração cibernética da falha, mas permite conexões pendentes por tempo indeterminado, o que pode facilitar ataques simples de negação de serviço (DoS) por esgotamento de recursos. Trate isso como uma mitigação temporária até a aplicação dos patches definitivos.
⟩_ Conclusão
A RegreSSHion reforça o quanto a segurança do código-fonte básico de infraestrutura é frágil e propensa a regressões — a falha original que ela reintroduziu havia sido corrigida quase duas décadas antes. Manter uma política rígida de gerenciamento de patches em servidores de produção e limitar o acesso direto ao SSH usando firewalls rígidos ou Zero Trust é essencial para reduzir a exposição a exploits deste tipo.
- Divulgação Original (Qualys, 1º jul. 2024): Qualys — regreSSHion CVE-2024-6387
- Site Oficial: OpenSSH Security Official Advisory Portal
- Código Fonte / Docs: GitHub — Repositório Portátil do OpenSSH