CVE-2023-37580
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Summary
XSS refletida no cliente web Classic do Zimbra Collaboration Suite (ZCS), explorada como zero-day contra organizações governamentais antes de existir patch público. O CVSS 6.1 parece moderado, mas a exploração real demonstrada pelo Google TAG mostra que ela permite roubo de e-mails, credenciais e tokens de autenticação — por isso está na KEV da CISA com exploração confirmada.
Technical detail
A falha é CWE-79 (Cross-Site Scripting) no zm-web-client, o front-end Classic do ZCS. O parâmetro de URL 'st' (usado, por exemplo, no endpoint /m/momoveto) era injetado diretamente no HTML da página sem escaping adequado. Um valor malicioso desse parâmetro conseguia fechar a tag esperada e inserir uma tag arbitrária, que era então executada no contexto da sessão autenticada do usuário.
O atacante controla integralmente o conteúdo do parâmetro na URL — não precisa de acesso prévio ao servidor nem de qualquer permissão especial, só precisa que a vítima abra o link enquanto está autenticada no webmail. É um XSS refletido clássico: o payload vive na URL, não é persistido no servidor.
O fix oficial (commit 874ac8c15... no repositório zm-web-client) passou a escapar o conteúdo do parâmetro 'st' antes de inseri-lo como valor de um atributo/objeto HTML, eliminando a possibilidade de quebrar o contexto da tag.
How it’s exploited
O vetor é uma URL maliciosa enviada por e-mail ou outro canal, direcionada a um endpoint do Classic Web Client com o parâmetro 'st' contendo o payload codificado (URL-encoding disfarçando a sequência de fechamento de tag e o ). A vítima precisa clicar no link estando com sessão ativa no Zimbra (UI:R no vetor CVSS) — não é zero-click como o CVE-2023-5631 do Roundcube, citado no mesmo relatório da oss-security como usado pelos mesmos grupos de ameaça contra alvos governamentais europeus.
Segundo a análise do Google Threat Analysis Group, a vulnerabilidade foi explorada in-the-wild como zero-day, antes da publicação de patch, contra organizações governamentais internacionais, com o objetivo de roubar dados de e-mail, credenciais de usuário e tokens de autenticação de sessão — ou seja, sequestro efetivo da conta de webmail sem precisar da senha.
A CISA confirma exploração ativa (entrada na KEV desde 27/07/2023, com prazo de correção em 17/08/2023), reforçando que não se trata de PoC teórica: houve campanha real de espionagem usando essa falha antes da correção estar disponível para todos os usuários.
Versions
How to protect
A correção oficial referenciada pela CVE é o ZCS 8.8.15 Patch 41. Pesquisa independente (thread na oss-security, novembro/2023) indica que a mesma classe de falha — junto com outras XSS relacionadas (CVE-2023-43102, CVE-2023-41106, CVE-2023-43103) — só está consolidada nas versões 8.8.15p44, 9.0.0p37 e 10.0.5, sugerindo que o alcance real do problema pode ir além do que a descrição oficial (restrita à branch 8.x) registra. Quem está em 9.0.x ou 10.0.x deve tratar esses patches subsequentes como parte do mesmo esforço de correção, não como algo à parte.
O Zimbra não distribui mais pacotes prontos da versão open-source; quem roda ZCS Open Source precisa atualizar manualmente a partir do repositório upstream ou depender de pacotes/imagens de terceiros — isso eleva o custo operacional de manter o patch em dia e é um fator real de exposição prolongada.
Não há mitigação de configuração equivalente à correção: como é um XSS refletido dependente de escaping ausente no código do cliente web, WAF com regras específicas contra os padrões de payload (tags codificadas no parâmetro 'st' e afins) reduz risco, mas não elimina — variações de encoding podem contornar assinaturas. Treinar usuários contra clique em links suspeitos ajuda, mas não é controle técnico confiável dado que o link pode ser disfarçado como legítimo dentro do próprio domínio do webmail.
How to detect
Nos logs do servidor web/proxy do Zimbra, procure requisições para endpoints do Classic Web Client (como /m/momoveto) com o parâmetro 'st' contendo sequências URL-encoded de fechamento de tag HTML (%22%2F%3E, equivalente a "/>) seguidas de apontando para domínios externos incomuns. Também vale correlacionar cliques em links de e-mails de phishing recebidos por contas de alto perfil com sessões subsequentes iniciadas a partir de IPs ou user-agents anômalos, indicando possível roubo de token de sessão.
Não há assinatura única e confiável, porque o payload pode ser codificado de múltiplas formas e hospedado em domínios descartáveis trocados a cada campanha — a ausência de indicadores não significa ausência de exploração, especialmente em ataques direcionados e de baixo volume como os relatados pelo Google TAG.