Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-12543-Fix-for-Wildfly — Imagem base Docker com correção retroativa de validação de cabeçalho Host para CVE-2025-12543 no Undertow 1.4.x, permitindo a implantação segura de aplicações WildFly 11. | Kitploit
Ferramentas/GitHubGitHub/kavin71725/cve-2025-12543-fix-for-wildfly
Segurança de Infraestrutura em NuvemSegurança de ContêineresAnálise de VulnerabilidadesSegurança WebDevSecOpsSegurança da Cadeia de SuprimentosConfiguração Incorreta
GitHub
kavin71725/cve-2025-12543-fix-for-wildfly

CVE-2025-12543-Fix-for-Wildfly

Imagem base Docker com correção retroativa de validação de cabeçalho Host para CVE-2025-12543 no Undertow 1.4.x, permitindo a implantação segura de aplicações WildFly 11.

Ver Repositório
27há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Imagem Base WildFly 11.0.0.Final — Correção CVE-2025-12543

Visão Geral

Este repositório fornece uma imagem Docker base construída sobre o WildFly 11.0.0.Final com uma correção portada para CVE-2025-12543, uma vulnerabilidade crítica de validação do cabeçalho Host no Undertow.

A imagem destina-se a ser fornecida a colegas como base. Eles podem implantar sua própria aplicação .war e standalone.xml sobre ela.


Resumo da CVE-2025-12543

CampoDetalhe
ID CVECVE-2025-12543
Componenteio.undertow:undertow-core
GravidadeCrítica (CVSS 9.6)
Versões afetadasTodas as versões < 2.2.39 (incluindo 1.4.x)
Corrigido emUndertow 2.2.39 / 2.3.22
Versão do WildFly 11undertow-core-1.4.18.Final — afetada

Descrição da Vulnerabilidade

O Undertow não valida corretamente o cabeçalho Host em requisições HTTP recebidas. Requisições contendo cabeçalhos Host malformados ou maliciosos são processadas sem rejeição, permitindo:

  • Envenenamento de cache
  • Sequestro de sessão
  • Varredura de rede interna
  • Mistura de dados entre inquilinos / desvio de limites de confiança

Por Que Não Atualizar o WildFly?

Outros usuários ainda estão no WildFly 11, e não há recursos ou planos atuais para atualização. A correção foi portada diretamente para o JAR Undertow 1.4.18.Final.


Estrutura do Repositório

.
├── Dockerfile                                  # Definição principal da imagem
├── README.md
├── wildfly-dist-11.0.0.Final.tar.gz           # Arquivo de distribuição do WildFly 11
├── reports/
│   ├── result-20260401-0230.txt               # Relatório de varredura CVE que identificou a vulnerabilidade
│   └── wildfly_11.0.0.Final_*.txt             # Relatórios de varredura adicionais
└── patch/
    ├── src/
    │   ├── HostHeaderHandler.java             # Correção portada — nova classe de manipulador
    │   ├── HttpReadListener_only.java         # Código fonte do HttpReadListener descompilado + corrigido (referência)
    │   └── PatchHttpReadListener.java         # Ferramenta de correção de bytecode Javassist
    ├── build.sh                               # Script de compilação — reconstrói o JAR corrigido do zero
    ├── undertow-core-1.4.18.Final.jar         # JAR original (não corrigido) — mantido para referência
    └── undertow-core-1.4.18.Final-patched.jar # JAR corrigido injetado na imagem

Detalhes dos Arquivos

Dockerfile

Constrói a imagem final. Ele:

  1. Usa bitnamilegacy/java:1.8.432-7-debian-12-r2 (OpenJDK 1.8.0_432) como base
  2. Extrai o WildFly 11 em /opt/jboss/wildfly
  3. Substitui o undertow-core-1.4.18.Final.jar original pela versão corrigida
  4. Inicia o WildFly via standalone.sh -b 0.0.0.0 (escuta em todas as interfaces)

patch/undertow-core-1.4.18.Final-patched.jar

O JAR Undertow corrigido. É idêntico ao original exceto por duas alterações:

  • Adicionado: io/undertow/server/handlers/HostHeaderHandler.class (e suas classes internas)
  • Modificado: io/undertow/server/protocol/http/HttpReadListener.class — injeta HostHeaderHandler no pipeline de requisições

patch/src/HostHeaderHandler.java

O manipulador de validação do cabeçalho Host portado. Portado do PR #1857 do Undertow (UNDERTOW-2656).

Todas as constantes (IP4_EXACT, IP6_EXACT, tabelas de caracteres) são autocontidas — sem dependência de APIs adicionadas no Undertow 2.x. Em cada requisição HTTP, ele valida:

  • Cabeçalho Host está presente (obrigatório para HTTP/1.1)
  • Exatamente um cabeçalho Host (sem duplicatas)
  • Porta é numérica e no intervalo 1–65535
  • Literais IP (IPv4, IPv6, IPvFuture) estão bem formados
  • Caracteres do hostname são caracteres válidos de nome reg do RFC 3986
  • Rejeita com 400 Bad Request em qualquer violação

patch/src/PatchHttpReadListener.java

Um corretor de bytecode Javassist de uso único. Carrega HttpReadListener do JAR original e substitui:

// Antes
Connectors.executeRootHandler(connection.getRootHandler(), exchange);

// Depois
Connectors.executeRootHandler(
    HostHeaderHandler.WRAPPER.wrap(connection.getRootHandler()),
    exchange
);

Isso injeta HostHeaderHandler automaticamente em cada requisição HTTP, sem exigir uma recompilação completa de HttpReadListener (que depende de classes internas complexas e internals do xnio).

patch/src/HttpReadListener_only.java

Código fonte descompilado do HttpReadListener original do Undertow 1.4.18.Final, usado como referência para localizar o ponto de injeção. A versão corrigida deste código fonte também é mantida aqui para fins de auditoria.

reports/result-20260401-0230.txt

Relatório de varredura CVE (gerado em 2026-04-01) que identificou CVE-2025-12543 em undertow-core-1.4.18.Final em:

/opt/jboss/wildfly/modules/system/layers/base/io/undertow/core/main/undertow-core-1.4.18.Final.jar

Procedimento de Correção

1. Identificar a vulnerabilidade

O relatório de varredura (result-20260401-0230.txt) confirmou que undertow-core-1.4.18.Final é afetado pela CVE-2025-12543 (CVSS 9.6).

2. Pesquisar a correção upstream

A correção está no PR #1857 do Undertow, mesclado no main (2026-01-09) e portado para 2.2.x e 2.3.x. A correção adiciona HostHeaderHandler.java e o conecta ao HttpReadListener para validar o cabeçalho Host em cada requisição.

3. Avaliar a viabilidade da atualização direta

Undertow 1.4.x → 2.2.x é um salto de versão principal com mudanças de API que quebram compatibilidade. O WildFly 11 está fortemente acoplado ao Undertow 1.4.x via JBoss Modules. Uma troca direta de JAR causaria ClassNotFoundException / NoSuchMethodError na inicialização.

4. Portar HostHeaderHandler.java

Escrever uma versão autocontida de HostHeaderHandler.java compatível com Undertow 1.4.18.Final:

  • Incluir todas as constantes regex (IP4_EXACT, IP6_EXACT) — não disponíveis em NetworkUtils do 1.4.x
  • Remover exchange.isHostIncludedInRequestURI() — não disponível em HttpServerExchange do 1.4.x
  • Manter toda a lógica de validação idêntica à correção upstream

Compilar contra o classpath do Undertow 1.4.18 + xnio dentro da imagem WildFly:

javac -cp undertow-core-1.4.18.Final.jar:xnio-api-3.5.4.Final.jar:jboss-logging-3.3.1.Final.jar \
      -d out HostHeaderHandler.java

5. Corrigir HttpReadListener via Javassist

Descompilar HttpReadListener com Procyon para localizar o ponto de injeção:

Connectors.executeRootHandler(this.connection.getRootHandler(), httpServerExchange);

localizado em handleEventWithNoRunningRequest().

Como HttpReadListener possui classes internas anônimas ($1, $2, $3) que não podem ser referenciadas a partir do código fonte descompilado, uma recompilação completa não é viável. Em vez disso, use Javassist (PatchHttpReadListener.java) para instrumentar o bytecode diretamente — substituindo a chamada executeRootHandler para envolver o manipulador raiz com HostHeaderHandler.WRAPPER.

java -cp javassist.jar:undertow-core-1.4.18.Final.jar:out \
     PatchHttpReadListener undertow-core-1.4.18.Final.jar out/

6. Reempacotar o JAR

Copiar o JAR original e injetar os arquivos de classe corrigidos/novos:

cp undertow-core-1.4.18.Final.jar undertow-core-1.4.18.Final-patched.jar
jar uf undertow-core-1.4.18.Final-patched.jar \
    -C out io/undertow/server/handlers/HostHeaderHandler.class \
    -C out "io/undertow/server/handlers/HostHeaderHandler\$Wrapper.class" \
    -C out "io/undertow/server/handlers/HostHeaderHandler\$1.class" \
    -C out io/undertow/server/protocol/http/HttpReadListener.class

7. Atualizar o Dockerfile

Baixar ferramenta