← voltar
CVE-2024-37383mediumsob ataqueCWE-79

CVE-2024-37383

85Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 6.1epss 73%
da publicação à arma139 dias
Publicada no NVD7 de jun.
1ª PoC+139d
CISA KEV+139d
probabilidade de exploração
73%top 1% das CVEs
exploração observada
simCISA + VulnCheck
7 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2024-11-14

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Resumo

Vulnerabilidade de XSS no Roundcube Webmail causada por uma falha no sanitizador HTML/SVG (rcube_washtml.php), que permite que um e-mail malicioso contendo SVG com elemento execute JavaScript arbitrário no contexto da sessão do webmail quando a vítima abre ou visualiza a mensagem. Está no catálogo KEV da CISA com exploração confirmada, o que eleva sua prioridade prática muito além do que o CVSS 6.1 sugere — é vetor de comprometimento de conta via e-mail, sem necessidade de credenciais do atacante.

Detalhamento técnico

O componente rcube_washtml.php é o sanitizador que o Roundcube usa para neutralizar HTML/SVG recebido em e-mails antes de renderizá-lo na interface web. Ele mantém uma lógica de whitelist para atributos de tags SVG como , bloqueando tentativas de usar esse elemento para reescrever atributos sensíveis (como href) via animação. O bug está na função attribute_value(): a comparação entre o valor esperado e o valor real do atributo era feita com strtolower($attr_value) === strtolower($attr->nodeValue), sem normalizar espaços em branco.

Isso permite que um atacante insira um valor de atributo com espaço extra (por exemplo, no nome do atributo alvo dentro de attributeName) que falha a comparação exata e escapa da regra de bloqueio, mas ainda é interpretado normalmente pelo mecanismo de renderização SVG do navegador. O elemento sobrevive à sanitização e pode então sobrescrever dinamicamente um atributo como href com um valor javascript:, criando um vetor de execução de script que o filtro deveria ter removido.

O CWE mais próximo é XSS (CWE-79), com componente de escaping/normalização inadequada (a falta de trim() na comparação de strings é a causa raiz técnica). A falha foi reportada por Valentin T. e Lutz Wolf, da CrowdStrike.

O vetor CVSS (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) reflete que não é preciso autenticação para enviar o e-mail malicioso, mas a vítima precisa interagir — abrir/visualizar a mensagem no webmail — e o escopo é alterado (S:C) porque o JavaScript executa no contexto de sessão do usuário, não do atacante.

Como é explorada

O vetor de ataque é um e-mail HTML enviado à vítima contendo um bloco SVG com manipulando attributeName com espaçamento anômalo, de forma que o sanitizador do Roundcube deixe passar a construção sem removê-la. Quando a vítima abre a mensagem no webmail (não é necessário clicar em link externo, apenas visualizar/renderizar o e-mail), o JavaScript malicioso executa no contexto da origem do Roundcube, com acesso à sessão autenticada do usuário.

Não há pré-condição de configuração não padrão: o sanitizador afetado é o comportamento padrão de renderização de e-mails HTML no Roundcube. A única pré-condição real é interação do usuário (abrir/visualizar o e-mail) — não é 0-click, mas exige engajamento mínimo, o que em campanhas de phishing dirigidas é trivial de obter.

O impacto prático demonstrado inclui roubo de sessão/cookies, leitura de e-mails da vítima, e potencialmente encadeamento com outras ações que o webmail permite (redirecionamento de e-mails, alteração de configurações, exfiltração de contatos). A presença no catálogo KEV da CISA confirma exploração ativa em campanhas reais, e existe PoC pública circulando — o que reduz a barreira de reprodução para qualquer atacante motivado.

Versões

Afetadas
Roundcube Webmail anterior a 1.5.7 (branch 1.5.x) e branch 1.6.x anterior a 1.6.7.
Corrigidas em
1.5.7 e 1.6.7. Backport confirmado para Debian 10 (buster) LTS na versão 1.3.17+dfsg.1-1~deb10u6.

Como se proteger

A correção definitiva é atualizar para Roundcube 1.5.7 (branch 1.5.x) ou 1.6.7 (branch 1.6.x), que adicionam trim() na comparação de valores de atributos SVG dentro do sanitizador, fechando o bypass. Distribuições com backport próprio, como o Debian LTS, corrigiram via pacote específico (Debian 10 buster: 1.3.17+dfsg.1-1~deb10u6) — quem usa pacotes de distro deve confirmar se recebeu o patch equivalente em vez de depender apenas do número de versão upstream do Roundcube.

Não há paliativo de configuração documentado que neutralize essa falha sem atualizar o código do sanitizador — desativar a pré-visualização de HTML de e-mails reduziria a superfície (forçando exibição em texto puro), mas isso é uma mudança de usabilidade, não uma mitigação oficial do fornecedor, e depende de cada usuário aplicar essa preferência manualmente. Um WAF na frente do webmail não filtra esse vetor de forma confiável, porque o payload malicioso trafega dentro do corpo MIME do e-mail, processado internamente pelo Roundcube após passar por SMTP/IMAP — não há como um WAF de borda HTTP inspecionar esse conteúdo de forma consistente antes da renderização.

Dado que a falha está no catálogo KEV da CISA, agências e operadores sob esse regime têm prazo de remediação obrigatório definido pela própria CISA; para os demais, o tratamento deve ser o mesmo: atualização imediata, sem postergar por causa do CVSS moderado — a combinação de PoC pública e exploração confirmada torna essa CVE de prioridade alta na prática.

Como detectar

Não há assinatura de rede confiável porque o vetor é conteúdo dentro do corpo MIME/HTML do e-mail, processado internamente pelo Roundcube antes de chegar a qualquer log HTTP padrão. O sinal mais direto é inspecionar e-mails recebidos (via gateway de e-mail, sandbox de anexos ou varredura de conteúdo) por blocos SVG contendo com atributos como attributeName ou href com espaçamento anômalo, uso de valores javascript: dentro de values/href, ou padrões consistentes com a PoC pública desta CVE.

Em logs de aplicação do Roundcube não há registro nativo de tentativas de XSS bloqueadas ou não — a defesa é inteiramente client-side no momento da renderização, então a ausência de log não indica ausência de tentativa. Times de SOC devem tratar isso como um problema de triagem de e-mail malicioso, não de monitoramento de aplicação web.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Roundcube Webmail before 1.5.7 and 1.6.x before 1.6.7 allows XSS via SVG animate attributes.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.