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
| Produto | Versões com correção |
|---|---|
| Bitbucket Data Center | 9.4.26, 10.2.8, 10.5.1 |
| Confluence Data Center | 9.2.26, 10.2.19 |
| Jira Software e Jira Service Management Data Center | 9.12.40, 10.3.26, 11.3.12 |
| Bamboo Data Center | 10.2.24, 12.1.12 |
| Crowd Data Center | 6.3.7, 7.0.3, 7.1.7, 7.2.4 |
| Crucible e Fisheye | 4.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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.