InfraFenceInfraFence

Live Security Operations

Começar

CVE-2021-42013: path traversal no Apache 2.4.50, verificar e corrigir

Última atualização:

O Apache HTTP Server 2.4.50 corrigiu a CVE-2021-41773, mas não por completo: codificar o ponto duas vezes (%%32%65, onde %32 é 2 e %65 é e) ainda permitia sair das pastas mapeadas. Ela afeta a 2.4.49 e a 2.4.50, com os mesmos resultados: arquivos fora da raiz de documentos e execução de código onde o CGI está ativado.

O Apache a corrigiu na 2.4.51, lançada três dias depois da 2.4.50.

Em resumo

CVE
CVE-2021-42013
Software
Apache HTTP Server
Versões afetadas
2.4.49 e 2.4.50
Corrigida em
2.4.51
Pontuação CVSS
9.8 Crítica (NVD, CVSS 3.1) · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA Known Exploited Vulnerabilities
Sim, adicionada em 3 de novembro de 2021
Publicada pelo NVD
7 de outubro de 2021
Patch virtual do InfraFence
vp-cve-2021-42013 (ModSecurity id 9920002)

O que é afetado

Só o Apache 2.4.49 e 2.4.50. Como na CVE-2021-41773, arquivos ficam expostos onde <Directory /> não mantém o Require all denied padrão, e código é executado onde mod_cgi ou mod_cgid serve uma pasta com alias como /cgi-bin/.

Verificar se um servidor está vulnerável

Verifique a versão:

Debian / Ubuntu
apache2 -v
Família RHEL
httpd -v
Compilado do código-fonte (prefixo padrão)
/usr/local/apache2/bin/httpd -v

Na 2.4.49 ou 2.4.50, verifique se a raiz do sistema de arquivos nega o acesso e se algum módulo CGI está carregado:

Qualquer distribuição
sudo grep -rn -A3 '<Directory />' /etc/apache2/ /etc/httpd/ /usr/local/apache2/conf/ 2>/dev/null
Qualquer distribuição
sudo apachectl -M 2>/dev/null | grep -i cgi

As tentativas deixam pontos codificados nos logs de acesso:

Logs de acesso do Apache
sudo grep -rhiE '\.%2e/|%2e\./|%2e%2e/|%%32%65|\.%%32' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20

Corrigir

Atualize para a 2.4.51 ou posterior (a atualização reinicia o Apache: escolha um momento tranquilo):

Debian / Ubuntu
sudo apt-get update
sudo apt-get install --only-upgrade apache2
apache2 -v
Família RHEL
sudo dnf upgrade httpd
httpd -v

Recompile uma instalação a partir do código-fonte da versão 2.4 atual, ou baixe uma nova imagem de contêiner. Mantenha a raiz do sistema de arquivos fechada e recarregue:

httpd.conf / apache2.conf
<Directory />
    AllowOverride None
    Require all denied
</Directory>
Qualquer distribuição
sudo apachectl configtest && sudo apachectl graceful

Atenção: Requisições bem-sucedidas (status 200) com pontos codificados duas vezes nos logs significam que arquivos podem ter sido lidos e, com CGI, comandos executados: investigue o servidor antes de confiar nele de novo.

Como o InfraFence a bloqueia enquanto você atualiza

O patch virtual para a CVE-2021-42013 é uma regra ModSecurity sobre o caminho bruto da requisição: ele bloqueia o ponto codificado duas vezes (%%32%65, %%32e, .%%32, %2%65). Aplique-o junto com o patch para a CVE-2021-41773, que bloqueia a forma codificada uma vez.

Como o patch é aplicado

  1. O agente anota quais portas SSH e quais sites respondem.
  2. Ele grava a regra (id ModSecurity 9920002) entre os próprios marcadores no seu arquivo ModSecurity, executa apachectl configtest e recarrega o Apache de forma suave. Se o teste falhar, o arquivo anterior volta ao lugar.
  3. Ele verifica se o SSH e os sites ainda respondem, e remove o patch se não responderem.
  4. Ele verifica se o ModSecurity realmente bloqueia com a regra, com uma requisição de teste local inofensiva. Um ModSecurity em DetectionOnly só registra: nesse caso, o patch é removido e reportado como ineficaz, nunca como aplicado.

Cada requisição que o patch bloqueia é reportada com CVE-2021-42013 (agente 1.0.37 ou posterior): você vê as tentativas na atividade do servidor e na página Exploração do painel, e assim sabe que a vulnerabilidade está sendo testada contra você.

Atenção: Um patch virtual bloqueia a forma conhecida do ataque nas requisições que passam pelo Apache naquele servidor. Ele não substitui a atualização: instale a versão corrigida e depois remova o patch em Atividade com Desfazer, se não precisar mais dele.

Os patches virtuais precisam do Apache com ModSecurity, da configuração Permitir alterações na configuração do servidor web e de nenhum painel de hospedagem ou ferramenta de gerenciamento de configuração controlando o servidor web; eles fazem parte do plano Pro e do AutoMode. Uma pessoa os aplica a partir da análise por IA, ou o AutoMode faz isso. Veja Patches virtuais.

Fontes

Os fatos desta página vêm destas fontes; consulte-as para ver se houve mudanças.

Teste grátis em 1 servidor

O Starter é gratuito para um servidor, com proteção completa e bloqueio automático. Sem cartão de crédito.

Instale o agente como root, com o seu token no lugar de <TOKEN>:

curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --token <TOKEN>

O token é criado no painel, em Servidores › Adicionar servidor.