CVE-2019-3398
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de path traversal (CWE-22) no recurso downloadallattachments do Confluence Server e Data Center, que permite a um usuário autenticado com permissões relativamente comuns (criar anexos, criar espaço, ou admin de espaço) escrever arquivos em locais arbitrários do sistema de arquivos, resultando em execução remota de código. O CVSS de 8.8 já reflete que exige privilégio baixo (PR:L) — não é falha pré-autenticação, mas a barreira de entrada é baixa porque 'permissão para adicionar anexos' é praticamente universal em instalações com usuários regulares habilitados a editar páginas.
Detalhamento técnico
A vulnerabilidade está na funcionalidade que gera um arquivo compactado com todos os anexos de uma página, blog ou espaço (downloadallattachments). Esse recurso monta nomes de arquivo/caminhos a partir de metadados controláveis pelo usuário (nome de anexo, nome de espaço ou identificadores associados) sem sanitizar adequadamente sequências de travessia de diretório. O resultado é uma escrita de arquivo (CWE-22 / path traversal com write) fora do diretório de destino esperado, ao invés de apenas leitura.
O atacante controla o conteúdo que acaba sendo escrito e, em alguma medida, o caminho de destino dentro da árvore de diretórios da aplicação. Como o Confluence roda como uma aplicação Java em um contêiner de servlet, escrever um arquivo controlado (por exemplo, um artefato interpretável pelo servidor) em um diretório executado pelo webapp é o que transforma a escrita arbitrária de arquivo em execução remota de código — mas o mecanismo exato de qual extensão/diretório é abusado para chegar a RCE não está detalhado nas fontes primárias que a Atlassian publicou; os writeups técnicos independentes (Packet Storm) descrevem essa cadeia com mais profundidade e devem ser consultados para o passo-a-passo de escrita→execução.
A Atlassian classificou o bug com labels 'idor' e 'path-traversal' no tracker interno, indicando que a falha de autorização (o recurso aceita entradas de que caminho grava sem revalidar o escopo do usuário) se combina com a falta de canonicalização de caminho para produzir o impacto de escrita arbitrária.
Como é explorada
Pré-requisito real: conta autenticada no Confluence com pelo menos uma das seguintes permissões — adicionar anexos em páginas/blogs, criar novo espaço, criar espaço pessoal, ou permissão de Admin em um espaço. Isso cobre a maioria dos usuários internos em instalações típicas (qualquer editor de conteúdo tem permissão de anexar arquivos), então na prática o requisito de privilégio é baixo, apesar de não ser anônimo. Não há evidência nas fontes analisadas de bypass de autenticação associado a este CVE especificamente.
O vetor de ataque é a requisição ao endpoint downloadallattachments manipulando o parâmetro que referencia nome/caminho do anexo ou espaço, injetando sequências de travessia (equivalentes a ../) para direcionar a escrita do arquivo compactado para fora do diretório de anexos. O atacante decide o conteúdo do arquivo escrito, o que permite depositar um artefato executável pelo servidor de aplicação, alcançando execução de código no contexto do processo do Confluence.
A CVE está no catálogo KEV da CISA (adicionada em 2021-11-03, prazo de correção 2022-05-03), confirmando exploração ativa observada, mesmo não estando marcada como associada a campanhas de ransomware conhecidas. Existem PoC pública e template Nuclei, o que baixa a barreira técnica para exploração em massa — o EPSS de 0.97 reflete probabilidade muito alta de tentativa de exploração contra instâncias expostas e não corrigidas.
Versões
Como se proteger
Atualizar para a versão corrigida do respectivo ramo: 6.6.13 (para a linha 6.6.x), 6.10.3, 6.12.4 (6.12.x), 6.13.4 (6.13.x), 6.14.3 (6.14.x) ou 6.15.2 (6.15.x e posteriores). Não existe patch parcial via configuração publicado pela Atlassian — a correção é a atualização de versão.
Como paliativo até a atualização, restringir ou revisar quem tem permissão de adicionar anexos, criar espaços ou espaço pessoal reduz a superfície de usuários capazes de explorar a falha, mas não elimina o risco para qualquer conta com essas permissões padrão — não é uma mitigação equivalente ao patch, apenas redução de exposição. Instâncias que expõem o Confluence diretamente à internet sem controle de acesso adicional devem considerar isso alto risco dado o EPSS e a presença no KEV.
Não restringir apenas por rede (colocar o Confluence detrás de VPN) resolve o problema se usuários internos maliciosos ou contas comprometidas já tiverem as permissões necessárias — a falha exige autenticação, não acesso de rede irrestrito, então isolamento de rede mitiga exposição externa mas não o risco interno.
Como detectar
Procurar em logs de acesso do Confluence requisições ao endpoint downloadallattachments.action contendo sequências de travessia de diretório (../, codificadas como %2e%2e%2f ou variantes) nos parâmetros relacionados a nome de anexo, página, blog ou espaço. Também vale auditar a criação de arquivos inesperados fora dos diretórios de anexos/attachments do Confluence, especialmente artefatos com extensões executáveis pelo container de aplicação em diretórios do webapp — presença desses arquivos é indício de exploração bem-sucedida, não apenas tentativa.
Como o ataque exige conta autenticada, correlacionar essas requisições com contas de usuário recém-criadas, comprometidas ou com atividade anômala de criação de espaços/anexos aumenta a confiança do achado. Não há assinatura de rede única e confiável documentada nas fontes oficiais; ferramentas de scanning (o template Nuclei público) geram padrões de requisição que também podem ser usados como referência para regras de detecção.