A vulnerabilidade crítica no glibc (CVE-2026-4046) permite derrubar aplicações remotamente via iconv() com conjuntos IBM1390/1399. Aprenda a verificar, corrigir e mitigar no SUSE Linux com comandos práticos, script de automação e soluções alternativas. Proteja seus sistemas agora.
O que é essa vulnerabilidade?
Em março de 2026, foi divulgada uma vulnerabilidade (CVE-2026-4046) na biblioteca GNU C Library (glibc), presente em praticamente todos os sistemas Linux. O problema está na função iconv(), responsável por converter texto entre diferentes codificações de caracteres.
Ao processar entradas especialmente criadas nos conjuntos de caracteres IBM1390 ou IBM1399, a função dispara uma falha de asserção (assert()) e derruba a aplicação. O pior: um atacante remoto não autenticado pode explorar isso pela rede, sem necessidade de privilégios ou interação do usuário.
Na prática, qualquer serviço que use iconv() para converter textos desses codificações pode ser derrubado com uma única requisição maliciosa.
A gravidade é alta: CVSS 7.5 (escala 3.1) e 8.7 (escala 4.0)
Como verificar se você está vulnerável
Antes de aplicar qualquer correção, descubra se seu sistema SUSE está exposto.
1. Verifique a versão do glibc instalada
rpm -q glibc
Se a versão for anterior a 2.11.3-17.110.55.1 (para SUSE Linux Enterprise Server 11 SP4), você está vulnerável.
2. Veja se os conjuntos IBM1390/1399 estão disponíveis
iconv -l | grep -E "IBM1390|IBM1399"
3. Teste rápido (opcional, use com cautela)
echo "teste" | iconv -f IBM1390 -t UTF-8 2>&1
4. Verifique se há atualizações disponíveis
zypper list-patches | grep -i glibc
zypper info glibcSalve o script abaixo como fix-cve-2026-4046.sh e execute com sudo:
#!/bin/bash # fix-cve-2026-4046.sh # Script para corrigir CVE-2026-4046 no SUSE Linux # Compatível com SUSE Linux Enterprise Server 11 SP4 e derivados set -e echo "[+] Verificando versão atual do glibc..." CURRENT=$(rpm -q glibc --qf "%{VERSION}-%{RELEASE}") echo " Versão atual: $CURRENT" echo "[+] Verificando patches disponíveis..." zypper refresh echo "[+] Aplicando atualização do glibc..." zypper patch --cve CVE-2026-4046 echo "[+] Verificando se os conjuntos IBM1390/1399 ainda estão presentes..." if iconv -l 2>/dev/null | grep -qE "IBM1390|IBM1399"; then echo "[!] ATENÇÃO: Os conjuntos IBM1390/1399 ainda estão disponíveis." echo "[!] Considere removê-los se não forem necessários (veja seção de mitigação)." else echo "[+] Conjuntos IBM1390/1399 não encontrados. Sistema seguro." fi echo "[+] Versão do glibc após atualização:" rpm -q glibc echo "[+] Concluído!"
chmod +x fix-cve-2026-4046.sh sudo ./fix-cve-2026-4046.sh
📗 Recomendação de Leitura
Segurança em servidores Linux: Ataque e Defesa (anúncio) -> https://link.amazon/B0gMOJEFt
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.
Se você não puder aplicar o patch imediatamente, existem medidas temporárias:
Opção 1: Remover os conjuntos de caracteres problemáticos
Esta é a mitigação mais simples e eficaz, recomendada por diversas distribuições.
# Localize os arquivos dos conjuntos IBM1390 e IBM1399 find /usr/lib*/gconv -name "*IBM1390*" -o -name "*IBM1399*" 2>/dev/null # Faça um backup antes de remover sudo mkdir -p /root/gconv_backup sudo cp /usr/lib*/gconv/IBM1390.so /root/gconv_backup/ 2>/dev/null || true sudo cp /usr/lib*/gconv/IBM1399.so /root/gconv_backup/ 2>/dev/null || true # Remova os arquivos sudo rm -f /usr/lib*/gconv/IBM1390.so /usr/lib*/gconv/IBM1399.so 2>/dev/null # Atualize o cache do gconv sudo /usr/sbin/build-locale-archive 2>/dev/null || true
Se você sabe qual serviço está exposto (ex.: Apache, Nginx, aplicação Java), pode bloquear requisições que contenham padrões suspeitos:
# Exemplo: bloquear pacotes com padrões relacionados (ajuste conforme seu serviço) sudo iptables -I INPUT -p tcp --dport 80 -m string --string "IBM1390" --algo bm -j DROP sudo iptables -I INPUT -p tcp --dport 80 -m string --string "IBM1399" --algo bm -j DROP
Opção 3: Restringir com AppArmor
Crie um perfil AppArmor para o serviço vulnerável, restringindo o acesso aos módulos gconv:
# Exemplo de regra para o perfil do serviço deny /usr/lib*/gconv/IBM1390.so r, deny /usr/lib*/gconv/IBM1399.so r,
O CVE-2026-4046 é uma vulnerabilidade séria no glibc que pode derrubar aplicações remotamente. A correção oficial já está disponível para SUSE Linux Enterprise Server 11 SP4 e outras distribuições.
O passo mais importante é aplicar o patch o quanto antes. Se não for possível, remova os conjuntos IBM1390 e IBM1399 – é uma mitigação simples e altamente eficaz.
Mantenha seus sistemas atualizados, documente seus procedimentos de segurança e, sempre que possível, automatize a aplicação de patches. A segurança não é um destino, é um processo contínuo.

Nenhum comentário:
Postar um comentário