InfraFenceInfraFence

Live Security Operations

Começar

CVE-2022-26134: injeção OGNL no Confluence, verificar e corrigir

Última atualização:

Uma injeção OGNL no Confluence Server e Data Center permite que qualquer pessoa que alcance o site execute código nele, sem login: o atacante coloca uma expressão OGNL no caminho da URL, como em /${…}/, e o Confluence a avalia.

Ela foi explorada como zero-day antes de a Atlassian publicar o comunicado em 2 de junho de 2022, e a CISA a adicionou ao KEV no mesmo dia. O Confluence Cloud não é afetado.

Em resumo

CVE
CVE-2022-26134
Software
Atlassian Confluence Server e Data Center
Versões afetadas
A partir da 1.3.0, toda versão anterior à versão corrigida da sua linha
Corrigida em
7.4.17, 7.13.7, 7.14.3, 7.15.2, 7.16.4, 7.17.4, 7.18.1
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 2 de junho de 2022
Publicada pelo NVD
3 de junho de 2022
Patch virtual do InfraFence
vp-cve-2022-26134 (ModSecurity id 9920005)

O que é afetado

Todas as versões do Confluence Server e Data Center a partir da 1.3.0 anteriores à versão corrigida da sua linha: 7.4.17, 7.13.7, 7.14.3, 7.15.2, 7.16.4, 7.17.4 e 7.18.1. As versões já sem suporte na época não receberam correção: precisam de upgrade para uma linha com suporte.

Verificar se um servidor está vulnerável

O Confluence mostra a versão no rodapé de todas as páginas e em Administration › General Configuration › System Information. Compare com as versões corrigidas acima.

As tentativas trazem ${ no caminho, muitas vezes codificado como %24%7B. Procure nos logs de acesso do proxy na frente do Confluence e nos logs de acesso do próprio Confluence, na pasta logs dele:

Logs de acesso do Apache
sudo grep -rhiE '%24%7B|\$\{' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20

Corrigir

  1. Faça o upgrade para uma versão corrigida, de preferência a versão Long Term Support mais recente de uma linha com suporte, seguindo o guia de upgrade da Atlassian (faça antes o backup do banco de dados e da pasta home).
  2. Se não puder fazer o upgrade na hora, a Atlassian publicou uma solução alternativa temporária que substitui os arquivos jar xwork (e webwork nas versões mais antigas): siga os passos para a sua versão no comunicado indicado abaixo, em cada nó de um cluster.
  3. Até que uma das duas esteja feita, mantenha a instância fora da internet: a CISA pediu aos órgãos públicos que bloqueassem o tráfego de e para instâncias sem correção.

Atenção: Um servidor que estava acessível antes da correção pode já estar comprometido: procure processos desconhecidos e web shells nas pastas do Confluence e verifique os logs a partir do fim de maio de 2022.

Como o InfraFence a bloqueia enquanto você atualiza

O patch virtual para a CVE-2022-26134 é uma regra ModSecurity sobre o caminho decodificado da requisição: ele bloqueia qualquer caminho que contenha ${. As URLs do Confluence não usam essa sequência no caminho; a query string não é verificada.

Nota: Ele só protege o Confluence quando as requisições passam pelo Apache com ModSecurity no mesmo servidor, como proxy reverso. O acesso direto à porta do próprio Confluence passa por fora dele: feche essa porta para a internet.

Como o patch é aplicado

  1. O agente anota quais portas SSH e quais sites respondem.
  2. Ele grava a regra (id ModSecurity 9920005) 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-2022-26134 (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.