Dois-pontos no lugar da barra: é assim que se lê o crowd.properties do Jira sem login

A Atlassian publicou em 5 de outubro um aviso fora do ciclo mensal para a CVE-2026-21589, leitura arbitrária de arquivo sem autenticação em oito produtos Data Center. O CVSS v4 é 9,3. A limitação é real, o atacante precisa saber o caminho exato do arquivo e não consegue sair do contexto do Tomcat, e ainda assim o alvo mais óbvio dentro desse contexto é o arquivo que guarda a senha de integração com o Crowd. Até 6 de outubro não havia exploração observada nem prova de conceito pública.

O que aconteceu: a Atlassian liberou em 5 de outubro um aviso de segurança para a CVE-2026-21589, travessia de diretório que permite a um atacante sem credencial ler arquivos dentro da raiz da aplicação web. Afeta oito produtos auto-hospedados: Bitbucket, Confluence, Jira Software, Jira Service Management, Bamboo, Crowd, Crucible e Fisheye, em todas as versões anteriores às corrigidas. A causa, descrita pelo laboratório da watchTowr, está na validação de caminho do atlassian-plugins-webresource: a rotina que troca barra por dois-pontos duplos para fins de roteamento tem uma inversa, e com ela dá para remontar a sequência de travessia em endpoints como /resources/:completeKey/*resourceName. O limite é não sair do contexto do Tomcat, o que exclui /etc/passwd e companhia. O que fica dentro do alcance é pior em muitos ambientes: WEB-INF/web.xml, WEB-INF/urlrewrite.xml e, quando há SSO configurado, WEB-INF/classes/crowd.properties, que carrega a senha da aplicação no diretório de identidade. Os produtos Cloud já estavam corrigidos e a Atlassian não encontrou sinal de exploração neles. Os pesquisadores estimam instâncias vulneráveis na casa de seis a sete dígitos, com cerca de 700 mil instalações de Confluence localizáveis na internet.

Essa falha tem um perfil que confunde quem lê só a nota. Não é execução remota de código. Não dá para listar diretório. O atacante precisa saber de antemão o nome e o caminho do arquivo. Em uma leitura rápida, parece contida.

O problema é que em um Jira ou Confluence o conjunto de arquivos interessantes é conhecido, padronizado e pequeno. Não é preciso enumerar nada quando o produto é o mesmo em todo mundo.

A causa é uma função de escape com inversa

O roteamento de recursos web da Atlassian escapa barras como dois-pontos duplos para montar chaves de plugin. Existe uma função que desfaz esse escape, e é ela que devolve ao atacante a capacidade de escrever travessia em uma forma que a validação não reconhece. Em vez de ../../, a sequência vai como ..::..:: e chega do outro lado como caminho relativo. Os endpoints afetados são o /resources/ e variantes como /sources/ e /download/resources/.

A barreira que sobra é o contexto da aplicação no Tomcat. Dentro dele, a watchTowr descreve leitura de qualquer arquivo. É aqui que a severidade aparece.

O arquivo que importa é o do Crowd

Quem usa Crowd como diretório de identidade dos produtos Atlassian tem em WEB-INF/classes/crowd.properties o par de aplicação e senha usado pela integração. Ler esse arquivo é obter credencial administrativa no diretório, e com ela criar usuário, alterar grupo e escalar privilégio no ecossistema inteiro, incluindo repositório e pipeline.

Jacob Krell, da Suzu Labs, colocou a consequência em uma frase: um arquivo de configuração ou credencial legível pode abrir caminho de um Jira, Confluence ou Bitbucket auto-hospedado até repositório de código e sistema de build. Seemant Sehgal, da BreachLock, foi na mesma direção ao notar que leitura de configuração expõe credencial reaproveitada em CI/CD a jusante.

Versões corrigidas

ProdutoVersões com correção
Bitbucket Data Center9.4.26, 10.2.8, 10.5.1
Confluence Data Center9.2.26, 10.2.19
Jira Software e Jira Service Management Data Center9.12.40, 10.3.26, 11.3.12
Bamboo Data Center10.2.24, 12.1.12
Crowd Data Center6.3.7, 7.0.3, 7.1.7, 7.2.4
Crucible e Fisheye4.9.15

Se não dá para atualizar hoje

  • Tirar a instância da internet aberta. É a mitigação que funciona sem depender de regra.
  • Regra de WAF ou proxy reverso bloqueando travessia, inclusive nas formas codificadas. A recomendação é decodificar a URL duas vezes antes de comparar.
  • RewriteValve no Tomcat e, no Bitbucket, regra no urlrewrite.xml. A própria Atlassian avisa que essas medidas são limitadas e não substituem a correção.
  • Se houver suspeita de leitura do crowd.properties, trocar a senha da aplicação no Crowd. Patch não invalida credencial já exposta.

Por que tratar como urgente mesmo sem exploração

O histórico de Atlassian auto-hospedado é curto e consistente: quando sai aviso crítico, o intervalo entre a nota e a exploração em massa se mede em dias. A Confluence já figurou em alerta de exploração ativa com múltiplas falhas, e a razão é estrutural. São instâncias expostas, cheias de documentação interna, credencial em página de runbook e integração com tudo.

No Brasil o detalhe que agrava é o parque. A migração forçada do Server para o Data Center deixou banco, operadora, varejo e setor público com instalação própria, muitas vezes atrás de um único proxy e com janela de manutenção disputada. Quem tem Crowd no desenho deveria tratar a atualização como mudança de emergência, e não como item da próxima janela.

Outros sinais do dia

  • Causa

    A travessia volta a existir porque o escape de barra tem inversa

    O roteamento troca barra por dois-pontos duplos e a rotina que desfaz isso aceita a sequência remontada. A validação olha o formato errado.

  • Alcance

    Não sai do contexto do Tomcat, e não precisa

    Fora da aplicação nada é lido. Dentro dela estão web.xml, urlrewrite.xml e o crowd.properties com a senha de integração.

  • Exposição

    Cerca de 700 mil instâncias de Confluence localizáveis na internet

    A estimativa de instâncias vulneráveis, segundo a watchTowr, fica entre seis e sete dígitos. Todas as versões anteriores à correção são afetadas.

  • Cloud

    Produtos Cloud já corrigidos, sem sinal de exploração

    A Atlassian afirma não ter encontrado evidência em ambiente Cloud. O risco é inteiro de quem hospeda.

  • Detecção

    Procure travessia depois de decodificar a URL duas vezes

    A busca em log por ponto duplo adjacente a barra ou a dois-pontos só funciona com decodificação dupla. Sem isso, o padrão passa.

Fontes e aprofundamento

  1. Atlassian · CVE-2026-21589 - Arbitrary File Access Vulnerability impacts Multiple Products, aviso oficial, com os produtos afetados, as versões corrigidas e as mitigações temporárias.
  2. watchTowr Labs · You Won't Hear About These, Even In Myths (Atlassian Pre-Auth Arbitrary File Read CVE-2026-21589), com a causa no escape de barra, os endpoints afetados e o caminho até a credencial do Crowd.
  3. watchTowr · Atlassian Jira & Confluence File Read FAQ: CVE-2026-21589, com a tabela de versões corrigidas, o estado da exploração em 6 de outubro e a orientação de busca em log.
  4. SC World · Critical Atlassian flaw exposes files across eight products, com as avaliações de BreachLock e Suzu Labs sobre credencial e movimentação para CI/CD.
  5. SOC Prime · CVE-2026-21589: Critical Atlassian Vulnerability Exposes Sensitive Files Across Eight Products, com o detalhe de detecção e a ausência de prova de conceito pública na data.
  6. Greenbone · CISA: Multiple Vulnerabilities In Atlassian Confluence Are Being Actively Exploited, para o histórico de exploração ativa de falhas em Confluence auto-hospedado.
Quantos ativos da sua empresa estão nessa situação? O diagnóstico mede exposição por domínio e mostra o que tratar primeiro. Solicitar diagnóstico.