CVE-2025-49113 Google Chronicle · YARA-L

Detect RoundCube Webmail Deserialization of Untrusted Data (CVE-2025-49113) in Google Chronicle

CVE-2025-49113 is an actively exploited deserialization of untrusted data vulnerability (CWE-502) in Roundcube Webmail. When exploited, an attacker can send a specially crafted serialized PHP object via the web interface, leading to remote code execution on the underlying server. This vulnerability is listed in CISA's Known Exploited Vulnerabilities catalog and requires immediate patching to versions 1.5.10 or 1.6.11.

MITRE ATT&CK

Tactic
Initial Access Execution Persistence

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule roundcube_deserialization_cve_2025_49113 {
  meta:
    author = "df00tech Detection Engineering"
    description = "Detects PHP deserialization exploitation attempts against Roundcube Webmail (CVE-2025-49113)"
    severity = "CRITICAL"
    priority = "HIGH"
    reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-49113"
    mitre_attack_tactic = "Initial Access"
    mitre_attack_technique = "T1190"

  events:
    $req.metadata.event_type = "NETWORK_HTTP"
    $req.target.url.path = /.*roundcube.*/ nocase or
    $req.target.url.path = "/index.php" nocase
    (
      $req.target.url.query = /O%3A[0-9]+%3A/ nocase or
      $req.target.url.query = /a%3A[0-9]+%3A/ nocase or
      $req.target.url.query = /s%3A[0-9]+%3A/ nocase or
      $req.network.http.request_body = /O:[0-9]+:"[a-zA-Z]+"/ nocase or
      $req.network.http.request_body = /a:[0-9]+:\{/ nocase
    )

  condition:
    $req
}
critical severity medium confidence

Chronicle YARA-L 2.0 rule detecting PHP serialized object patterns (URL-encoded and raw) in HTTP requests targeting Roundcube Webmail endpoints, covering CVE-2025-49113 exploitation via GET and POST vectors.

Data Sources

Chronicle UDM network eventsWeb proxy UDM logs

Required Tables

NETWORK_HTTP

False Positives & Tuning

  • Roundcube deployments with custom session serialization plugins passing encoded objects in URLs
  • Vulnerability scanners generating synthetic deserialization payloads during authorized scans
  • API integrations that pass PHP-serialized configuration objects as URL parameters
  • Development or staging environments running Roundcube functional tests

Other platforms for CVE-2025-49113


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Roundcube Deserialization Probe via GET Parameter

    Expected signal: HTTP GET request to Roundcube /index.php with O%3A in query string captured in web access logs; PHP error log may show unserialize() invocation

  2. Test 2Roundcube POST Body Deserialization with Crafted Object

    Expected signal: POST request to Roundcube /index.php with serialized object in body captured by WAF or proxy; PHP error log records unserialize call or type error

  3. Test 3Web Shell Drop via Simulated Roundcube RCE

    Expected signal: File creation event in Roundcube web root (inotify/auditd/EDR file write event); new .php file with non-standard name in web root directory

  4. Test 4Outbound Reverse Shell from PHP Process (Post-Exploitation Simulation)

    Expected signal: Process creation event: www-data spawning bash with /dev/tcp redirect; outbound TCP connection from web server worker to port 4444; EDR network connection alert for web process initiating outbound shell

Unlock Pro Content

Get the full detection package for CVE-2025-49113 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections