Response playbooks, investigation guides, and Atomic Red Team tests are Pro-only. Upgrade to unlock the full detection package for CVE-2026-9559.

Upgrade to Pro
CVE-2026-9559 Google Chronicle · YARA-L

Detect Mautic Campaign Import Path Traversal (CVE-2026-9559) in Google Chronicle

Detects exploitation attempts against CVE-2026-9559, a critical path traversal vulnerability (CVSS 9.9) in Mautic core's Campaign Import feature affecting versions >=7.0.0, <7.1.2. An unauthenticated or low-privileged attacker can craft a malicious campaign import file (CSV/ZIP) containing path traversal sequences (../) or archive entries that write files outside the intended import directory, potentially achieving arbitrary file write and remote code execution via webshell placement. A public PoC exists (GHSA-6r9h-4h75-7q4x). This detection identifies suspicious campaign import requests, path traversal payloads in multipart uploads, unexpected file writes outside Mautic's media/import directories, and subsequent webshell execution.

MITRE ATT&CK

Tactic
Initial Access Execution Persistence

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule mautic_campaign_import_path_traversal_cve_2026_9559 {
  meta:
    author = "detection-engineering"
    description = "Detects path traversal attempts against Mautic campaign import (CVE-2026-9559)"
    severity = "CRITICAL"
    cve = "CVE-2026-9559"
  events:
    $e.metadata.event_type = "NETWORK_HTTP"
    $e.network.http.method = "POST"
    (re.regex($e.target.url, `(?i)campaigns/(import|batch)`) or re.regex($e.target.url, `(?i)api/campaigns/import`))
    re.regex($e.target.url, `(?i)(\.\.%2f|\.\.%5c|%2e%2e%2f|%252e%252e%252f|\.\./\.\./)`)
  outcome:
    $risk_score = max(85)
    $src_ip = array_distinct($e.principal.ip)
    $target_url = array_distinct($e.target.url)
  condition:
    $e
}
critical severity medium confidence

Chronicle YARA-L rule matching HTTP POST requests to Mautic campaign import endpoints that include path traversal sequences, indicating CVE-2026-9559 exploitation attempts.

Data Sources

Chronicle Web Proxy LogsNetwork HTTP Events

Required Tables

NETWORK_HTTP

False Positives & Tuning

  • Legitimate encoded characters in unrelated marketing campaign import filenames
  • Authorized red team or bug bounty testing against the endpoint
  • Web application firewall re-encoding requests before logging

Other platforms for CVE-2026-9559


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 1Simulate Path Traversal Campaign Import POST (Linux)

    Expected signal: HTTP POST log entry to /s/campaigns/import with URL/multipart filename containing '../' sequences; potential file creation event for shell.php outside the intended import directory.

  2. Test 2Verify Unauthorized File Write Outside Import Directory (Linux)

    Expected signal: File creation/modification event logged by EDR/FIM for a PHP file outside the intended import directory.

  3. Test 3Simulate Campaign Import Traversal via ZIP Archive (Windows)

    Expected signal: IIS W3C log entry for POST to /s/campaigns/import with an unusual multipart body size; potential unauthorized file write event under C:\inetpub\wwwroot outside media\files\import.

  4. Test 4Validate Mautic Version Vulnerability Check (macOS)

    Expected signal: No network telemetry generated; local file read only.

Unlock playbooks & atomic tests with Pro

Get the full detection package for CVE-2026-9559 — response playbook and atomic red team tests, plus investigation guidance and hunting queries.

df00tech Pro — £29/user/month

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections