CVE-2018-6882
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Apply updates per vendor instructions.
Summary
Falha de XSS persistente no Zimbra Collaboration Suite (ZCS), no Classic Web Client, causada pela função ZmMailMsgView.getAttachmentLinkHtml, que monta o link de anexo usando o valor do header Content-Location do próprio anexo MIME sem sanitização. Um atacante remoto e não autenticado consegue armazenar script malicioso dentro de um e-mail; o código executa no contexto da sessão da vítima quando ela abre a mensagem no webmail. Está no catálogo KEV da CISA, ou seja, há exploração confirmada em ambiente real — o que eleva a prioridade mesmo com CVSS moderado (6.1).
Technical detail
A vulnerabilidade é um XSS armazenado (CWE-79) no Classic Web Client do ZCS. Ao renderizar a lista de anexos de uma mensagem, a função ZmMailMsgView.getAttachmentLinkHtml gera o HTML do link de download incorporando diretamente o valor do header Content-Location declarado na parte MIME do anexo. Esse header é definido pelo remetente do e-mail e não é validado nem escapado antes de ser injetado no DOM da interface de webmail.
Como o Content-Location é um campo MIME padrão e totalmente controlado por quem monta o e-mail (não requer manipulação de servidor, só um cliente de e-mail capaz de setar headers arbitrários por parte), o atacante controla integralmente o conteúdo que acaba sendo interpretado como HTML/JavaScript pelo navegador da vítima, dentro do contexto de origem do ZCS.
O pesquisador que reportou (Stephan Kaag, Securify B.V.) testou e confirmou a falha na versão ZCS 8.7.11_GA_1854 (build 20170531151956), mas avalia como provável que o problema exista desde a série 8.5.0 — essa extensão não foi confirmada pelo fornecedor, só é uma hipótese do pesquisador. O fornecedor classificou o bug internamente com CVSS 4.3 e severidade 'Minor' (bug# 108786), valor mais baixo que o vetor 6.1 atribuído no NVD (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) — a divergência reflete metodologias de scoring diferentes entre fornecedor e NVD, não uma correção de dados.
How it’s exploited
O vetor é o envio de um e-mail comum, com um anexo cujo header MIME Content-Location contém a carga XSS. Não é necessário autenticação no Zimbra nem acesso à rede interna: qualquer remetente externo capaz de compor uma mensagem MIME manualmente (a maioria dos clientes de e-mail de linha de comando ou bibliotecas permite isso) pode montar o payload. O único pré-requisito do lado da vítima é abrir/visualizar a mensagem maliciosa no Classic Web Client do ZCS — por isso o CVSS marca UI:R (interação do usuário obrigatória).
Como é XSS persistente, o script fica armazenado junto ao e-mail na caixa da vítima: toda vez que a mensagem for visualizada, o código roda novamente no contexto de sessão do usuário. Na prática, isso permite roubo de token/sessão de webmail, execução de ações via API SOAP/REST do Zimbra em nome do usuário, ou apresentação de uma tela de login falsa para captura de credenciais (phishing dentro da própria interface confiável do Zimbra).
A presença no catálogo KEV da CISA indica exploração ativa documentada contra instalações reais, tipicamente como etapa inicial de campanhas de comprometimento de contas de webmail corporativo — não é só uma prova de conceito teórica.
Versions
How to protect
A correção definitiva é atualizar o ZCS. O fornecedor liberou o patch em ZCS 8.7.11 Patch 1 (para o ramo 8.7) e em 8.8.7 GA (para o ramo 8.8.x). Não há confirmação de backport para versões anteriores a 8.7 (7.x, 8.0–8.6), então instalações nesses ramos permanecem vulneráveis por definição de fim de suporte, não por ausência de patch documentado.
Se a atualização imediata não for viável, não existe workaround de configuração publicado pelo fornecedor ou pelos pesquisadores para essa falha específica — o vetor está embutido na lógica de renderização de anexos do Classic Web Client. Como controle compensatório genérico (não uma correção), é possível considerar filtragem/inspeção de headers MIME suspeitos em gateways de e-mail antes da entrega, mas isso não elimina o problema, só reduz a superfície.
Treinar usuários para 'não abrir anexos suspeitos' não mitiga esta falha de forma confiável: o XSS dispara ao simplesmente visualizar a mensagem no webmail (pré-visualização da lista de anexos), não exige que o usuário clique ou baixe o anexo em si.
How to detect
Não há um sinal de rede confiável e específico, já que a exploração ocorre no lado do cliente, dentro do parsing/renderização de anexos pelo Classic Web Client — o servidor apenas trafega o e-mail normalmente como MIME. O indicador mais próximo é inspecionar e-mails recebidos (ou logs de MTA/antispam que guardem corpo/headers) por anexos cuja parte MIME contenha um header Content-Location com marcações HTML suspeitas (tags como , atributos onerror=, onload=, javascript: ou entidades codificadas incomuns nesse campo, que normalmente traz apenas uma URI). Ambientes com Nuclei já dispõem de template público para verificação ativa da vulnerabilidade, útil para varredura de instâncias expostas, mas isso testa a presença da falha, não detecta exploração histórica.