Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain ability to write session data
-
DeliveryInject '!'-prefixed session key
-
ExploitDesynchronize unserialize() parser
-
ExecutionDeliver crafted serialized object payload
-
PersistInstantiate attacker-controlled PHP object
-
ImpactTrigger gadget chain impact
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to be able to influence stored session data consumed by rcube_session::unserialize() - specifically the ability to introduce a session key prefixed with '!', which the pre-patch code treated as valueless and thereby desynchronized the serialized stream. This is NOT remote-unauthenticated against a default install: the CVSS AV:L and the 'able to influence stored session data' wording indicate a precondition of write access to session storage (typically an authenticated Roundcube session or a separate write primitive) plus high attack complexity (AC:H) to craft a valid desynchronizing payload. Successful impact further depends on the presence of a usable PHP object-injection gadget chain in the Roundcube installation or its dependencies. Affected: Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5; fixed by upgrading to 1.6.20 or 1.7.5. |
| Impact | This is a genuine but conditional risk rather than a drop-everything emergency. The vendor-supplied CVSS of 7.4 (CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) is internally notable: it pairs AV:L (local) and AC:H (high complexity) with PR:N (no privileges), which is unusual - the attack vector is scored as local/non-network yet supposedly requires no privileges. In practice the description's gating condition ('an attacker able to influence stored session data') is the dominant signal: reaching the vulnerable rcube_session::unserialize() path depends on first being able to write attacker-controlled bytes into stored session data, which in a typical Roundcube deployment implies prior authenticated access or a chained primitive, not anonymous network reach. The CWE-502 object injection, if reached, is high-impact (C:H/I:H/A:H) because PHP object injection can escalate to code execution or data compromise depending on available gadget chains. No EPSS score, KEV listing, or public POC was provided in the input, so exploitation probability signals are absent - this is NOT confirmed actively exploited and no public exploit was supplied. SSVC-style read: technical impact is total (object injection), but automatability is low given the session-influence precondition and AC:H. Net: a real priority to patch for any internet-facing Roundcube instance, but the 'local + session-influence precondition' meaningfully lowers mass-exploitation likelihood compared to a raw 7.4 network bug. The AV:L vs PR:N tension should be verified against the vendor advisory. |
| Exploit ScenarioDerived | An attacker who can place crafted bytes into a victim's stored session data (for example via an authenticated Roundcube account or a chained write primitive) inserts a session key prefixed with '!'. On the next session load, rcube_session::unserialize() emits a key with no value, desynchronizing the parser so that subsequent session bytes are interpreted as a serialized PHP value, instantiating an attacker-chosen object. No public exploit code was provided in the input, so this remains an analyzed primitive rather than a confirmed weaponized exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
PHP object injection in Roundcube Webmail's custom session decoder (rcube_session::unserialize()) affects releases before 1.6.20 and 1.7.x before 1.7.5, allowing an attacker who can write crafted session data to desynchronize the serialized stream and have subsequent session data interpreted as a serialized value. Exploitation is conditional rather than remote-unauthenticated against a default install: it requires the ability to influence stored session data (typically an authenticated session or a separate write primitive), high complexity to craft a valid desynchronizing payload, and a usable gadget chain in the installation or its dependencies before code execution or other impact follows. No public exploit code or confirmed active exploitation (CISA KEV) was identified at time of analysis, and the risk is best treated as genuine but conditional rather than a drop-everything emergency; vendor fixes are available in 1.6.20 and 1.7.5.
RemediationAI
Vendor-released patch: upgrade to Roundcube Webmail 1.6.20 or 1.7.5 (the fix rejects "!"-prefixed session keys in rcube_session::unserialize(); see commits 93284f3f0e13f99af37fc3b81861e142eea8a922 and 833770d3d3c35cfde74cc2614d368f25a75b6f99 and advisory https://roundcube.net/news/2026/10/19/security-updates-1.6.20-and-1.7.5). If upgrading immediately is not possible, compensating controls are limited because the vulnerable operation is server-side: restrict write access to the session storage backend (database credentials, session table permissions, shared-hosting DB users) so that only the Roundcube application account can insert or modify session rows, and shorten session lifetimes or force re-authentication to reduce the window in which crafted session data persists - both carry operational cost and do not remove the primitive. Additionally audit installed plugins and Composer dependencies for known PHP unserialize gadget chains, since the injection only escalates to code execution where such a chain exists, and disable or update any plugin not required for business use. After patching, purge existing session records (or rotate the session encryption/signing key) so any previously stored malicious session payloads are discarded, accepting the side effect of logging all users out once.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Roundcube implements its own session serialization layer in program/lib/Roundcube/rcube_session.php (rcube_session::unserialize()) because session records are stored server-side in its database rather than in PHP's default file handler. The decoder walks a serialized string and, in vulnerable versions, treated a session key prefixed with "!" as having no value: the key was emitted into the reconstructed serialized string without a corresponding value, shifting the parser's position so the remainder of the input was consumed as a serialized value. That is a classic parser desynchronization feeding CWE-502 (Deserialization of Untrusted Data), yielding a PHP object injection primitive whenever the attacker can influence the stored session data. The upstream fix (commits 93284f3f0e13f99af37fc3b81861e142eea8a922 and 833770d3d3c35cfde74cc2614d368f25a75b6f99) rejects "!"-prefixed keys outright by throwing an 'Unsupported value' exception instead of reconstructing a valueless key, closing the desync. Impact beyond the injection primitive depends on the presence of a usable POP gadget chain in Roundcube plugins or bundled/Composer dependencies; the assessed vector (AV:L/AC:H/PR:L/UI:N, C:H/I:H/A:H) reflects that precondition rather than guaranteed remote code execution.
Know when Roundcube gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Reaching unserialize() requires influencing stored session data, which in practice needs an authenticated session (PR:L) and complex payload crafting (AC:H); object injection yields full C/I/A impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 contains an object injection primitive in rcube_session::unserialize(). A session key prefixed with “!” was treated as having no value, and the reconstructed serialized string was emitted with a key but no corresponding value, desynchronizing the remainder of the input so that following session data was interpreted as a serialized value. This yields a PHP object injection primitive for an attacker able to influence stored session data. Upstream fixed this in the commit “Fix object injection primitive in rcube_session::unserialize() via “!”-prefixed session keys”, which rejects such keys.
Executive ViewAI
Roundcube Webmail releases prior to 1.6.20 and 1.7.x releases prior to 1.7.5 contain a high-severity object injection flaw in the custom session decoder that could, under specific conditions, allow an attacker to manipulate how stored session data is interpreted. The exposure is concentrated in the webmail platform itself - the system many staff rely on for day-to-day email - so a successful compromise could expose mailbox contents and session integrity, though exploitation requires the attacker to already be able to influence stored session data and to assemble a working gadget chain, making this a genuine but conditional risk rather than an active incident. Vendor fixes are available, so leadership's concern should center on how quickly the affected mail infrastructure can be brought to a supported version.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Roundcube Webmail before 1.1.10, 1.2.x before 1.2.7, and 1.3.x before 1.3.3 allows unauthorized access to arbitrary file
steps/mail/sendmail.inc in Roundcube before 1.1.7 and 1.2.x before 1.2.3, when no SMTP server is configured and the send
Directory traversal vulnerability in the set_skin function in program/include/rcmail_output_html.php in Roundcube before
rcube_image.php in Roundcube Webmail before 1.4.4 allows attackers to execute arbitrary code via shell metacharacters in
Roundcube Webmail before 1.4.4 allows attackers to include local files and execute code via directory traversal in a plu
The DBMail driver in the Password plugin in Roundcube before 1.1.0 allows remote attackers to execute arbitrary commands
A Cross-Site Scripting vulnerability in Roundcube through 1.5.7 and 1.6.x through 1.6.7 allows a remote attacker to stea
Multiple buffer overflows in the DBMail driver in the Password plugin in Roundcube before 1.1.0 allow remote attackers t
Roundcube Webmail allows arbitrary password resets by authenticated users. Rated high severity (CVSS 8.8), this vulnerab
Pre-authentication SQL injection in Roundcube Webmail's virtuser_query plugin allows unauthenticated remote attackers to
roundcube version 1.3.4 and earlier contains an Insecure Permissions vulnerability in enigma plugin that can result in e
EUVD-2026-107701
GHSA-xxrc-hh9x-4pwx
NVD
CVE.org
EPSS
Exploit-DB