Aprenda a identificar e corrigir vulnerabilidades de path traversal e TLS no Erlang do SUSE Linux com comandos práticos, script de automação e mitigações alternativas. Um guia perene para administradores de sistemas.
Cada vulnerabilidade tem sua data, mas o método para encontrá-la e corrigi-la permanece o mesmo.
No dia 5 de junho de 2026, a SUSE lançou um aviso de segurança importante sobre o pacote erlang para as suas distribuições Linux Enterprise Server 16 e openSUSE (SUSE-SU-2026:22082-1).
A atualização corrigiu cinco falhas que poderiam permitir path traversal em servidores SFTP e ataques MITM (Man-in-the-Middle) no TLS.
Em vez de nos atermos à data do anúncio, vamos nos concentrar no que realmente importa: como encontrar e corrigir essas vulnerabilidades você mesmo, seja hoje ou daqui a um ano.
Como verificar se o seu sistema está vulnerável
Conecte-se ao seu servidor SUSE (via SSH ou diretamente) e execute os seguintes comandos como root ou com sudo. Eles vão te mostrar exatamente qual versão do Erlang está rodando e se ela contém o patch de segurança.
# Verifica a versão exata do pacote Erlang instalado rpm -q erlang # Exibe informações detalhadas sobre o pacote, incluindo a versão corrigida zypper info erlang | grep -E "Version|Repository" # Lista todas as atualizações de segurança pendentes no sistema zypper list-updates --type=security # Saída recomendada do 'rpm -q erlang': # erlang-26.2.5-3.1.x86_64 (vulnerável) # erlang-27.3.2-1.1.x86_64 (corrigido)
Comparando as versões:
Se a versão instalada for anterior à 27.3.2 para o ramo 27 ou 26.2.5.11 para o ramo 26, o sistema está vulnerável.
O número da build (o que vem depois do traço) também é importante. Por exemplo, erlang-26.2.5-3.1 indica que a correção ainda não foi aplicada.
Script de automação para aplicar a correção (bash para SUSE)
Salve o script abaixo como fix_erlang_suse.sh e execute-o para corrigir automaticamente as vulnerabilidades, agora ou em qualquer outra atualização futura.
#!/bin/bash # fix_erlang_suse.sh # SUSE Security Auto-Fixer for Erlang and any future package LOG_FILE="/var/log/security_erlang_fix.log" log_message() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE" } log_message "Starting security check for Erlang on SUSE..." # Update package lists zypper refresh # Apply all security patches without interaction zypper --non-interactive patch --category=security # Force a reinstall of erlang if the fixed version isn't detected if ! rpm -q erlang | grep -qE "27\.[3-9]|26\.2\.5\.(1[1-9]|[2-9][0-9])"; then log_message "WARNING: Erlang may still be vulnerable. Attempting forced reinstall." zypper --non-interactive install --force erlang else log_message "SUCCESS: Erlang is up-to-date with security fixes." fi log_message "Security check and fix completed."
Para agendar a execução automática toda semana, adicione ao crontab:
chmod +x fix_erlang_suse.sh sudo crontab -e # Adicione a linha abaixo para executar toda segunda-feira às 2h da manhã 0 2 * * 1 /home/usuario/fix_erlang_suse.sh
Dica bônus: Se quiser aplicar apenas patches de um determinado fornecedor, use o comando zypper patches para listar todos os patches disponíveis, filtre pelo ID (SUSE-SU-2026:22082-1) e aplique com zypper patch --patch-id=SUSE-SU-2026:22082-1.
📗 Recomendação de Leitura
Segurança em servidores Linux: Ataque e Defesa (anúncio) -> https://amzn.to/4fHoFXG
Se você prefere estudar em português e quer aprender a "pensar como um hacker" para se antecipar a invasões, essa é a pedida! O livro ensina a usar as ferramentas prediletas dos invasores (como Nmap e Netcat) a seu favor, blindando seus sistemas.
Eu ganho uma comissão quando você faz uma compra.
Mitigação alternativa (caso não possa atualizar agora)
Se você não puder reiniciar o servidor ou aplicar o patch imediatamente, as seguintes medidas reduzem drasticamente a superfície de ataque.
Restringir acesso ao SFTP (serviço sshd)
A vulnerabilidade CVE-2026-32147 explora o subsistema SFTP para realizar path traversal. A mitigação mais simples é desabilitar completamente o SFTP, substituindo a linha Subsystem sftp /usr/lib/ssh/sftp-server por Subsystem sftp /bin/false no arquivo /etc/ssh/sshd_config. Em seguida, recarregue o serviço SSH.
Caso o SFTP seja necessário, limite o número de sessões simultâneas no arquivo /etc/ssh/sshd_config com a diretiva MaxSessions 2 ou MaxStartups 2:30:10.
Bloquear tráfego malicioso com iptables
Em um cenário de emergência, bloqueie temporariamente as portas que o Erlang utiliza (geralmente 4369 para EPMD e uma faixa de portas para nós distribuídos) até que o patch seja aplicado.
# Bloqueia acesso externo à porta padrão do EPMD iptables -A INPUT -p tcp --dport 4369 -j DROP # Bloqueia conexões externas em portas dinâmicas (ajuste conforme sua aplicação) iptables -A INPUT -p tcp --dport 5000:5100 -j DROP # Permite apenas conexões locais iptables -A INPUT -p tcp --dport 4369 -s 127.0.0.1 -j ACCEPT
Restringir com AppArmor (SUSE possui por padrão)
Crie ou edite o perfil do AppArmor para o binário beam.smp (o principal executável da BEAM VM), restringindo o acesso a diretórios críticos. Adicione uma regra como deny /etc/ssl/** rw para impedir que o Erlang acesse ou modifique certificados da máquina.
Remover certificados não confiáveis
As vulnerabilidades CVE-2026-42789, CVE-2026-42790 e CVE-2026-42791 envolvem a validação de certificados TLS.
Como mitigação temporária, remova todos os certificados autoassinados e não confiáveis do seu armazenamento local e configure o Erlang para usar apenas uma lista restrita de CAs conhecidos através da variável de ambiente ERL_SSL_CA_CERT_FILE.
Conclusão: Conhecimento perene, segurança ativa
As cinco vulnerabilidades corrigidas em junho de 2026 nos lembram de uma verdade atemporal: a segurança de sistemas não se resume a aplicar patches na data do anúncio, mas sim a construir procedimentos internos que funcionem sempre.
As falhas de path traversal e validação de certificados existem há anos e continuarão surgindo em novas versões de software.
Ao adotar os scripts de automação, as verificações manuais e as técnicas de mitigação apresentados aqui, você transforma sua equipe em um agente ativo de segurança, independente de calendários de fornecedores.
Sua ação hoje: execute rpm -q erlang agora mesmo. Se a versão for anterior à 27.3.2 (ramo 27) ou 26.2.5.11 (ramo 26), coloque o script de correção para rodar. Em 15 minutos, seu ambiente estará mais seguro — e você terá aprendido um processo que servirá para a próxima vulnerabilidade, seja ela qual for.

Nenhum comentário:
Postar um comentário