FERRAMENTAS LINUX: Trivy no openSUSE: vulnerabilidades corrigidas e como proteger seus containers agora e no futuro

segunda-feira, 15 de junho de 2026

Trivy no openSUSE: vulnerabilidades corrigidas e como proteger seus containers agora e no futuro

 


Trivy no openSUSE Leap 16.0: vulnerabilidades críticas corrigidas (CVE-2026-25680, CVE-2026-25681, CVE-2026-27136, CVE-2026-42502, CVE-2026-42506). Aprenda a verificar, corrigir e proteger seu ambiente com comandos reais, script de automação, mitigação alternativa e indicação de livro especializado.

Em meados de 2026, usuários do openSUSE Leap 16.0 foram alertados sobre um conjunto de vulnerabilidades críticas no scanner de segurança Trivy

As falhas envolviam desde problemas no parser HTML da biblioteca golang.org/x/net/html (CVE-2026-25680, CVE-2026-25681, CVE-2026-27136, CVE-2026-42502, CVE-2026-42506) até loops infinitos no transporte HTTP/2 (CVE-2026-33814), bypass de validação de domínios (CVE-2026-39821) e múltiplos problemas no pacote SSH da Golang – incluindo memory leaks, bypass de restrições de certificados e deadlocks (CVE-2026-39827, CVE-2026-39828, CVE-2026-39829, CVE-2026-39830).

A correção foi disponibilizada no pacote trivy-0.71.0-160000.1.1 para openSUSE Leap 16.0. Mas a verdade é que essas vulnerabilidades não são um evento isolado. Trivy é uma ferramenta essencial em pipelines DevSecOps; mantê-la atualizada é tão importante quanto os scans que ela mesma executa.

A boa notícia é que o processo de verificação e correção é simples, e você pode automatizá‑lo para evitar sustos no futuro. É isso que vamos fazer neste artigo.


Como verificar se você está vulnerável


Antes de aplicar qualquer correção, verifique qual versão do Trivy está instalada no seu openSUSE Leap 16.0.

Abra um terminal e execute:

bash
trivy --version

Você verá uma saída semelhante a:

text
Version: 0.70.0
...

Se a versão for anterior a 0.71.0 (ex.: 0.70.0 ou inferior), seu sistema está exposto às vulnerabilidades listadas no aviso.


Para confirmar se o pacote Trivy foi atualizado via zypper, use:

bash
zypper info trivy

Procure pela linha Version – se estiver 0.71.0-160000.1.1 ou superior, você está seguro.


Script de automação para aplicar a correção

Em vez de lembrar manualmente de atualizar, você pode incluir o script abaixo na sua rotina de manutenção (cron job, hook de CI/CD ou execução manual periódica). O script é compatível com openSUSE Leap 16.0 e utiliza exclusivamente comandos nativos do zypper.

bash
#!/bin/bash
# Script: update-trivy.sh
# Descrição: Atualiza o Trivy no openSUSE Leap 16.0 para a versão corrigida.
# Uso: chmod +x update-trivy.sh && sudo ./update-trivy.sh

set -euo pipefail

TRIVY_PKG="trivy"
REQUIRED_VERSION="0.71.0"

echo "[1/3] Verificando versão atual do Trivy..."
current_version=$(trivy --version | grep -oP 'Version: \K[0-9.]+' || echo "not-found")

if [[ "$current_version" == "not-found" ]]; then
    echo "Trivy não encontrado. Instalando..."
    sudo zypper --non-interactive install $TRIVY_PKG
elif [[ "$(printf '%s\n' "$REQUIRED_VERSION" "$current_version" | sort -V | head -n1)" != "$REQUIRED_VERSION" ]]; then
    echo "Versão $current_version está desatualizada. Atualizando..."
    sudo zypper --non-interactive update $TRIVY_PKG
else
    echo "Trivy versão $current_version já é >= $REQUIRED_VERSION. Nada a fazer."
    exit 0
fi

echo "[2/3] Verificando nova versão instalada..."
new_version=$(trivy --version | grep -oP 'Version: \K[0-9.]+')
echo "Versão atual: $new_version"

echo "[3/3] Teste rápido de scan para confirmar funcionamento..."
trivy image --severity HIGH,CRITICAL --exit-code 0 --ignore-unfixed alpine:latest

echo "Atualização concluída com sucesso."

Como executar o script

 1.Salve o conteúdo em um arquivo, por exemplo, update-trivy.sh.

 2. Torne‑o executável: chmod +x update-trivy.sh

 3. Execute como root: sudo ./update-trivy.sh

Se preferir fazer a atualização manualmente, os comandos equivalentes são:

bash
sudo zypper refresh
sudo zypper update trivy

Após a atualização, confirme a versão com trivy --version.


📗  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


Nem sempre é possível aplicar uma atualização imediatamente – seja por políticas de mudança congelada, compatibilidade com outros pacotes ou indisponibilidade para reiniciar serviços. Nessas situações, você pode adotar medidas de contenção para reduzir o risco.


Restringir acesso à rede via iptables (exemplo)


As vulnerabilidades CVE-2026-33814 (loop infinito no HTTP/2) e CVE-2026-39830 (deadlock) podem ser exploradas por um servidor malicioso com quem o Trivy se comunica. 

Se você utiliza Trivy para escanear imagens remotas (registry), uma forma de mitigar é bloquear o acesso de saída do processo Trivy para redes não confiáveis, ou restringir os destinos permitidos.

Exemplo (use com cuidado, adapte às suas regras existentes):

bash
# Verificar se iptables está instalado
sudo zypper install iptables

# Bloquear todo tráfego de saída do usuário que roda Trivy (exemplo: usuário 'jenkins')
sudo iptables -A OUTPUT -m owner --uid-owner jenkins -j DROP

# Permitir apenas conexões para registries confiáveis (ex.: registry.internal.com)
sudo iptables -A OUTPUT -m owner --uid-owner jenkins -d registry.internal.com -j ACCEPT

⚠️ Atenção: Essas regras persistem apenas até o próximo reboot, a menos que você as salve. Use com conhecimento de causa.

Executar Trivy em ambiente isolado (containers ou sandbox)

Se possível, execute o Trivy dentro de um container sem privilégios, montando apenas os volumes necessários. Dessa forma, mesmo que uma vulnerabilidade seja explorada, o impacto fica restrito ao container.

bash
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy:0.70.0 image python:3.9-alpine

Entretanto, lembre‑se de que a versão 0.70.0 ainda contém as vulnerabilidades. O ideal é usar a mesma mitigação dentro do container.

Restringir permissões do Trivy com AppArmor


No openSUSE, o AppArmor está habilitado por padrão. Você pode criar um perfil restritivo que impeça o Trivy de acessar recursos desnecessários (ex.: rede, certos arquivos). O arquivo de perfil geralmente fica em /etc/apparmor.d/usr.bin.trivy.

Exemplo de restrição no perfil (bloquear acesso à rede):

text
deny network inet stream,
deny network inet6 stream,

Depois recarregue o perfil:

bash
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.trivy

Proxy reverso ou firewall de aplicação

Para ambientes corporativos, configure um proxy reverso ou WAF (Web Application Firewall) que faça sanitização de requisições HTTP/2 antes que elas cheguem ao Trivy. Esta solução é mais avançada e geralmente exige equipe de segurança dedicada.


Conclusão

As vulnerabilidades corrigidas no Trivy em meados de 2026 servem como um lembrete importante: ferramentas de segurança também precisam de segurança. Manter o scanner atualizado é o primeiro passo; ter um processo automatizado e políticas claras de mitigação é o que realmente protege seu ambiente a longo prazo.

Use o script fornecido para automatizar a correção, aplique as mitigações alternativas enquanto não puder atualizar e, se quiser aprofundar seus conhecimentos, invista no livro recomendado para estruturar uma estratégia DevSecOps consistente.

Nenhum comentário:

Postar um comentário