← back
CVE-2023-43770mediumunder attackCWE-79

CVE-2023-43770

77Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 6.1epss 58%
from disclosure to weapon5 days
Published on NVDSep 22
1st PoC+5d
CISA KEV+143d
exploitation probability
58%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
5 public exploit(s)
Action required by CISAfederal deadline: 2024-03-04

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

Summary

Falha de XSS persistente no Roundcube Webmail, no módulo que converte e-mails em texto puro para HTML e reconhece padrões de 'link reference' (ex.: `[1] http://exemplo.com`). Um atacante pode enviar um e-mail malicioso com um link reference forjado; quando a vítima abre a mensagem no webmail, código HTML/JavaScript é injetado sem sanitização na página. Importa porque não exige nenhuma ação privilegiada do atacante — só enviar um e-mail — e está confirmada em exploração ativa (catálogo KEV da CISA).

Technical detail

A vulnerabilidade está em program/lib/Roundcube/rcube_string_replacer.php, na lógica que identifica 'linkrefs' em mensagens de texto puro — o padrão usado por e-mails que citam links como `[1]` e depois listam a URL correspondente em outra linha (`[1] http://...`). As expressões regulares `linkref_index` e `linkref_pattern` usavam a classe de caracteres `[^\]#]+` para capturar o conteúdo dentro dos colchetes, o que permitia qualquer caractere exceto `]` e `#` — incluindo ``. Isso significa que o valor entre colchetes podia conter tags HTML completas, como `evil`.

How it’s exploited

O vetor é uma mensagem de e-mail em texto puro (text/plain) contendo um padrão de linkref onde o rótulo entre colchetes traz HTML/JavaScript, seguido de uma URL na linha correspondente (ex.: um bloco `[...] https://...`). O atacante não precisa de credenciais no Roundcube nem de acesso à rede da vítima — só precisa que o e-mail chegue à caixa de entrada e seja aberto. O CVSS reflete exatamente isso: PR:N (atacante não precisa de privilégio nenhum, é remetente externo), UI:R (a vítima precisa abrir/visualizar a mensagem no webmail) e S:C (o script roda no contexto da sessão do webmail, fora do 'objeto' vulnerável original).

Como é persistente/armazenado, o payload fica na caixa de correio até ser visualizado, e a execução ocorre no contexto de origem do Roundcube — permitindo roubo de sessão, leitura de outras mensagens ou ações via API interna do webmail em nome da vítima. A CISA lista a falha no catálogo KEV com confirmação de exploração ativa (adicionada em 12/02/2024, prazo de correção 04/03/2024), embora não haja indicação de uso em campanhas de ransomware.

Versions

Affected
Roundcube antes de 1.4.14; ramo 1.5.x antes de 1.5.4; ramo 1.6.x antes de 1.6.3.
Fixed in
1.4.14, 1.5.4 e 1.6.3 (ramos correspondentes). Backport disponível para Debian 10 (buster) LTS na versão do pacote 1.3.17+dfsg.1-1~deb10u3.

How to protect

A correção definitiva é atualizar para Roundcube 1.4.14, 1.5.4 ou 1.6.3, conforme o ramo em uso — o fix restringe a classe de caracteres do regex de linkref para excluir `` (commit e92ec20). Para Debian 10 (buster) em LTS, o backport foi publicado como pacote roundcube 1.3.17+dfsg.1-1~deb10u3 (DLA-3577-1).

Não há flag de configuração ou parâmetro que mitigue a falha sem aplicar o patch — a sanitização do regex faz parte do parser interno de mensagens, então não existe workaround client-side confiável. Regras de WAF genéricas contra tags `` em corpo de e-mail podem reduzir a superfície, mas não cobrem todas as variações de tags/atributos que o regex antigo permitia, portanto não substituem a atualização.

How to detect

Não há assinatura de rede confiável, pois o disparo ocorre no navegador da vítima ao renderizar a mensagem no webmail, não em uma requisição HTTP distinta e identificável. O sinal mais concreto é inspecionar o corpo de mensagens text/plain armazenadas em busca de padrões de linkref com caracteres `` dentro dos colchetes (ex.: `[...]` seguido de uma URL na linha logo abaixo) — esse formato é o indicativo direto de tentativa de exploração e pode ser varrido retroativamente em caixas de correio já recebidas antes do patch.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Roundcube before 1.4.14, 1.5.x before 1.5.4, and 1.6.x before 1.6.3 allows XSS via text/plain e-mail messages with crafted links because of program/lib/Roundcube/rcube_string_replacer.php behavior.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.