Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-10386

CVE-2025-10386: Yida ECMS XSS Vulnerability Explained

CVE-2025-10386 is a cross-site scripting flaw in Yida ECMS Consulting Enterprise Management System 1.0 that allows remote attackers to inject malicious scripts. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-10386 Overview

CVE-2025-10386 is a reflected cross-site scripting (XSS) vulnerability in Yida ECMS Consulting Enterprise Management System 1.0. The flaw resides in the /login.do endpoint's POST request handler, where the requestUrl parameter is reflected without proper sanitization. Attackers can inject arbitrary JavaScript that executes in a victim's browser session when the crafted request is processed.

The issue is remotely exploitable over the network and requires user interaction. A public exploit has been disclosed via GitHub. The vendor was notified but did not respond to the disclosure. The weakness is classified under CWE-79.

Critical Impact

Remote attackers can execute arbitrary script in the browser context of a targeted user by delivering a crafted /login.do request, enabling session theft, phishing overlays, or unauthorized actions within the ECMS interface.

Affected Products

  • Yida ECMS Consulting Enterprise Management System 1.0
  • /login.do POST Request Handler component
  • requestUrl request parameter

Discovery Timeline

  • 2025-09-14 - CVE-2025-10386 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-10386

Vulnerability Analysis

The vulnerability is a reflected cross-site scripting flaw in the login handler of Yida ECMS Consulting Enterprise Management System 1.0. When a POST request is submitted to /login.do, the requestUrl parameter value is echoed back into the HTTP response without adequate output encoding or input validation. An attacker can craft a URL or form submission containing JavaScript payloads inside requestUrl and lure an authenticated or anonymous user to trigger it.

Because the payload executes within the origin of the ECMS application, attacker-controlled script inherits access to cookies, DOM content, and any session tokens available to the browser. This enables credential theft, forced actions on behalf of the victim, and delivery of malicious content that appears to originate from a trusted enterprise application.

Root Cause

The root cause is missing neutralization of untrusted input during web page generation, consistent with [CWE-79]. The application accepts the requestUrl parameter from user-controlled POST data and inserts it into the rendered response without HTML entity encoding or contextual escaping. No allow-list validation restricts the parameter to expected URL formats.

Attack Vector

Exploitation requires an attacker to deliver a crafted link or auto-submitting form to a victim, typically via phishing, chat, or a compromised page. Once the victim's browser sends the POST request to /login.do with the malicious requestUrl value, the reflected payload executes in the ECMS origin. Public exploit details are available in the referenced GitHub issue and VulDB entry #323821.

No verified code examples are available. The vulnerability mechanism can be summarized in prose: a POST parameter is reflected into the response body without encoding, allowing HTML and script content supplied by an attacker to be interpreted by the victim's browser.

Detection Methods for CVE-2025-10386

Indicators of Compromise

  • POST requests to /login.do containing HTML or JavaScript metacharacters such as <script>, onerror=, javascript:, or encoded variants inside the requestUrl parameter.
  • Web server access logs showing unusually long or URL-encoded requestUrl values originating from external referrers.
  • Browser reports or client-side errors indicating unexpected script execution when accessing the ECMS login page.

Detection Strategies

  • Deploy web application firewall (WAF) rules that inspect the requestUrl POST body parameter for XSS payload signatures.
  • Enable HTTP response inspection to flag reflected content that mirrors request parameters containing script tags or event handlers.
  • Correlate phishing email telemetry with subsequent HTTP traffic to /login.do endpoints to identify social-engineered exploitation attempts.

Monitoring Recommendations

  • Log and retain full POST body content for /login.do requests to support forensic review.
  • Monitor for anomalous outbound requests from user browsers to attacker-controlled hosts immediately after visiting the ECMS application.
  • Track authentication anomalies such as unexpected session token use from new geolocations following suspicious login page traffic.

How to Mitigate CVE-2025-10386

Immediate Actions Required

  • Restrict external access to the ECMS /login.do endpoint until a vendor fix is available, ideally placing it behind a VPN or IP allow-list.
  • Deploy WAF signatures that block XSS payloads targeting the requestUrl parameter on POST requests to /login.do.
  • Instruct users to avoid clicking untrusted links referencing the ECMS application and to authenticate only through bookmarked URLs.

Patch Information

No vendor patch is available. According to the disclosure, the vendor was contacted early but did not respond. Organizations running Yida ECMS Consulting Enterprise Management System 1.0 should treat this as an unpatched issue and rely on compensating controls. Monitor the GitHub issue and VulDB record for updates.

Workarounds

  • Apply a reverse proxy rule that strips or rejects requestUrl values containing <, >, ", ', or javascript: substrings before requests reach the application.
  • Enforce a strict Content Security Policy (CSP) that disallows inline scripts and restricts script sources to trusted origins to limit the impact of reflected payloads.
  • Set the HttpOnly and Secure flags on session cookies to reduce the risk of token theft via injected script.
bash
# Example NGINX rule to block XSS payloads in the requestUrl parameter
location = /login.do {
    if ($request_method = POST) {
        if ($request_body ~* "requestUrl=[^&]*(<|%3C|script|javascript:|onerror=)") {
            return 403;
        }
    }
    proxy_pass http://ecms_backend;
}

# Example Content Security Policy header
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'";

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.