Páginas

segunda-feira, 15 de junho de 2026

Erlang no SUSE: Identifique e Corrija Vulnerabilidades de Path Traversal e TLS

 





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.

bash
# 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.

bash
#!/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:

bash
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.

bash
# 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