FERRAMENTAS LINUX: Falha Crítica no Pacote de Criptografia do Golang no Mageia: Como Identificar, Corrigir e se Proteger (

domingo, 7 de junho de 2026

Falha Crítica no Pacote de Criptografia do Golang no Mageia: Como Identificar, Corrigir e se Proteger (

 

Mageia


Vulnerabilidade no golang.org/x/crypto compromete integridade do SSH. Guia prático para Mageia: comandos de verificação, script de correção, mitigação com iptables e recomendação de livro para aprofundamento. Proteja seu servidor agora.


A vulnerabilidade que afeta o golang.org/x/crypto foi descoberta em dezembro de 2023, mas, por ser um problema no próprio protocolo SSH, continua afetando servidores desatualizados. Este guia mostra como identificar, corrigir e se proteger, independentemente da data da sua leitura.

A Ameaça (Contexto Histórico)

A vulnerabilidade, identificada como CVE-2023-48795 (Terrapin Attack), permite que um atacante na posição de intermediário (MitM) comprometa a integridade do canal seguro ao truncar mensagens durante a negociação da conexão SSH, desabilitando funcionalidades de segurança avançadas. 

Embora não exponha diretamente dados confidenciais, essa falha pode ser o primeiro passo para ataques mais graves.

Como Verificar se Você Está Vulnerável

Antes de qualquer ação, confirme a versão do pacote suscetível:

bash
# Atualize a lista de pacotes dos repositórios
sudo urpmi.update -a

# Verifique a versão do pacote vulnerável instalado
rpm -q golang-x-crypto

# Verifique a versão do pacote de desenvolvimento, se instalado
rpm -q golang-x-crypto-devel

Uma instalação está vulnerável se a versão do golang-x-crypto for anterior a 0.45.0 e do golang-x-crypto-devel anterior a 0.45.0. Consulte a saída do comando e compare com as versões corrigidas.


📗  Recomendação de Leitura

Segurança em servidores Linux: Ataque e Defesa  (anúncio) -> https://amzn.to/4xjabDS

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.


 Script de Automação para Aplicar a Correção (Mageia)


Crie um arquivo (ex.: fix_golang_crypto.sh), cole o conteúdo abaixo, salve e execute com sudo bash fix_golang_crypto.sh.

bash
#!/bin/bash
# fix_golang_crypto.sh - Corrige vulnerabilidade no pacote golang-x-crypto (Mageia)
# Compatível com Mageia 8 e 9.

set -e  # Interrompe o script em caso de erro

# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${GREEN}==> Iniciando correção para golang-x-crypto...${NC}"

# 0. Verifica se está rodando como root
if [[ $EUID -ne 0 ]]; then
   echo -e "${RED}Erro: Execute este script como root (use sudo).${NC}"
   exit 1
fi

# 1. Obtém a versão atual do pacote
CURRENT_VER=$(rpm -q golang-x-crypto --qf "%{VERSION}" 2>/dev/null || echo "não instalado")
if [[ "$CURRENT_VER" != "não instalado" ]]; then
    echo -e "${YELLOW}Versão atual do golang-x-crypto: $CURRENT_VER${NC}"
else
    echo -e "${YELLOW}golang-x-crypto não encontrado.${NC}"
fi

# 2. Atualiza a lista de pacotes disponíveis
echo -e "${GREEN}==> Atualizando lista de pacotes...${NC}"
urpmi.update -a

# 3. Aplica todas as atualizações disponíveis (recomendado)
echo -e "${GREEN}==> Aplicando atualizações de segurança...${NC}"
urpmi --auto-select

# 4. Verifica se a correção foi aplicada com sucesso
NEW_VER=$(rpm -q golang-x-crypto --qf "%{VERSION}" 2>/dev/null || echo "não instalado")
if [[ "$NEW_VER" == "0.45.0" ]] || [[ "$NEW_VER" > "0.45.0" ]]; then
    echo -e "${GREEN}✅ Correção aplicada com sucesso! Versão: $NEW_VER${NC}"
else
    echo -e "${RED}❌ Falha na atualização. Versão atual: $NEW_VER${NC}"
    echo -e "Tente o comando manual: sudo urpmi golang-x-crypto"
    exit 1
fi

echo -e "${GREEN}==> Processo concluído.${NC}"

Mitigação Alternativa (Caso Não Possa Atualizar Agora)

Nem sempre é possível reiniciar serviços ou aplicar atualizações imediatamente. Para reduzir temporariamente o risco, implemente regras no firewall para restringir o acesso SSH:

Bloqueio Temporário com Iptables

bash
# Limitar conexões SSH apenas a uma rede confiável (ex: 192.168.1.0/24)
sudo iptables -A INPUT -p tcp --dport 22 ! -s 192.168.1.0/24 -j DROP

# Registrar tentativas de conexão bloqueadas (opcional)
sudo iptables -A INPUT -p tcp --dport 22 ! -s 192.168.1.0/24 -j LOG --log-prefix "SSH Blocked: "

Atenção: Esta não é uma correção definitiva — o firewall apenas reduz a superfície de exposição. A falha permanece ativa para conexões permitidas. Atualize o sistema assim que possível.


Por Que Isso Acontece? Aprenda a Prevenir no Futuro

A vulnerabilidade está na implementação de protocolos criptográficos. Para desenvolvedores, entender profundamente as práticas de segurança em Go é essencial. 


Conclusão

Atualizar o golang-x-crypto é a única solução completa para a CVE-2023-48795. Use os comandos e o script fornecido para automatizar o processo no Mageia. Até lá, reforce o firewall como medida paliativa. 


Nenhum comentário:

Postar um comentário