Background
Roundcube Webmail is one of the most widely deployed open-source webmail clients, used by internet service providers, enterprises, universities, and hosting providers globally. It provides a browser-based interface to IMAP email accounts and is frequently the webmail component in cPanel/WHM-based hosting environments, ISP email services, and university email systems. Roundcube is estimated to be deployed on millions of servers, many of which are internet-facing by design.
Roundcube has been a recurring target for sophisticated threat actors. The Russian state-sponsored group APT28 (Fancy Bear) has previously exploited Roundcube vulnerabilities (including CVE-2020-35730 and CVE-2023-43770) to target governmental and diplomatic organisations. Given that Roundcube is the interface through which users access sensitive email communications, its compromise is particularly valuable for espionage. CISA added CVE-2025-49113 to the KEV catalogue on 2026-02-20.
Technical Mechanism
CVE-2025-49113 is a PHP deserialisation vulnerability in Roundcube’s upload.php script, specifically in the handling of the _from parameter.
PHP’s unserialize() function reconstructs PHP objects from a string representation. When called on attacker-controlled input, it can trigger the instantiation of arbitrary PHP classes available in the application’s namespace — a vulnerability known as PHP Object Injection. If any of those classes implements “magic methods” (__wakeup, __destruct, __toString) that perform dangerous operations, an attacker can chain these into a PHP Object Injection gadget chain that achieves code execution.
The attack flow is as follows:
- An attacker authenticates to Roundcube with any valid user account (the authentication requirement is low — attackers may use compromised credentials, default credentials, or accounts obtained via phishing)
- The attacker sends a crafted POST request to
upload.phpwith a malicious PHP serialised object as the value of the_fromparameter - Roundcube passes the
_fromvalue tounserialize()without first verifying its content - During deserialisation, a PHP Object Injection gadget chain is triggered
- The gadget chain executes arbitrary PHP code, typically invoking OS commands through
system(),exec(), orproc_open() - The attacker achieves RCE under the web server process context (e.g.,
www-data)
The authenticated-but-low-privilege requirement means any valid Roundcube account — including free trial or low-privilege accounts at hosting providers — can be used to exploit the vulnerability.
Real-World Exploitation Evidence
CVE-2025-49113 was added to CISA KEV on 2026-02-20. Roundcube exploitation history is significant:
- APT28 (Fancy Bear / GRU) — Russian military intelligence has repeatedly used Roundcube vulnerabilities to target European government, military, and NGO email accounts; this group is expected to adopt new Roundcube vulnerabilities rapidly
- Phishing chain attacks — attackers first phish for Roundcube credentials (often via convincing login page clones), then use the credentials to exploit server-side vulnerabilities like CVE-2025-49113 for full server compromise
- ISP and hosting provider impact — Roundcube instances at hosting providers may serve thousands of customers; server-side compromise can affect all tenants
Impact Assessment
CVE-2025-49113 is exploitable by any valid Roundcube account holder, making the authentication prerequisite a low barrier in practice. Hosting providers and ISPs running Roundcube routinely issue accounts to large numbers of users, and compromised email credentials are widely available on criminal marketplaces. A successful exploit achieves PHP code execution under the web server user, providing access to Roundcube’s configuration files (which contain IMAP and database credentials), the ability to install persistent PHP web shells, and visibility into the email storage accessible to the server process. The 8.8 CVSS score reflects the authenticated requirement while acknowledging the high impact of the resulting RCE.
The broader impact is shaped by Roundcube’s role as shared infrastructure. At ISPs and hosting providers, a single Roundcube instance serves many customers: server-level compromise can expose email content, credentials, and contact data for all tenants. For government and NGO targets, the value is intelligence: email archives accessible from a compromised Roundcube server may contain diplomatic communications, policy discussions, and sensitive organisational data. APT28’s repeated return to Roundcube vulnerabilities underscores the platform’s value as an espionage target. Even at organisations that are not high-profile espionage targets, email access provides attackers with business email compromise opportunities, credential phishing templates, and internal context useful for social engineering.
Affected Versions
| Component | Affected Versions | Fixed Version |
|---|---|---|
| Roundcube Webmail | Versions prior to 1.6.x patch | 1.6.x patched release |
| Roundcube Webmail | Versions prior to 1.5.x patch | 1.5.x patched release |
Consult the Roundcube GitHub repository and official announcements for precise version information.
Remediation Steps
- Update Roundcube to the latest patched release:
# Via Roundcube updater or manual upgrade php -r "copy('https://roundcube.net/download', 'rc-download');" - As an immediate mitigation, consider adding input validation at the web server layer to reject requests to
upload.phpwith non-standard_fromparameter values - Rotate all service account credentials used by the Roundcube installation:
- Database credentials in
config/config.inc.php - SMTP/IMAP authentication credentials
- Database credentials in
- Review web server access logs for POST requests to
upload.phpwith large or binary_fromparameter values - Search for unexpected PHP files in the Roundcube installation directory and web root:
find /var/www/roundcubemail -name "*.php" -newer /var/www/roundcubemail/index.php -type f - If hosted at a shared hosting provider, notify the provider and request investigation
- Review the hosting server for signs of broader compromise if Roundcube runs with shared-server privileges
Detection Guidance
Web server access logs (Apache/Nginx) — look for:
- POST requests to
upload.phpwith abnormally large_fromparameter values - Requests to
upload.phpfrom unexpected source IP addresses at unusual times - Access to newly created
.phpfiles in Roundcube directories following the exploitation window
PHP application logs:
- PHP unserialise errors or exceptions from
upload.php - Unusual class instantiation in Roundcube PHP logs
SIEM query example (Splunk):
index=web_logs sourcetype=apache_access
| search cs_uri_stem="*/upload.php" cs_method="POST"
| eval param_len=len(cs_uri_query)
| where param_len > 500 OR match(cs_post_body, "O:[0-9]+:")
| stats count by c_ip, cs_uri_stem, param_len, sc_status
| sort -count
OS-level indicators:
- Processes spawned by the web server user (
www-data,apache) that are not typical PHP/web operations - Outbound connections from the Roundcube server to external IP addresses
Timeline
| Date | Event |
|---|---|
| 2025 | CVE-2025-49113 discovered in Roundcube upload.php |
| Late 2025 / Early 2026 | Roundcube releases patch |
| 2026-02-20 | CISA adds CVE-2025-49113 to KEV catalogue |
| February 2026 | Active exploitation observed; APT and ransomware groups targeting Roundcube installations |
| 2026-05-24 | This analysis published |