CVE-2025-59539

6.3 MEDIUM

📋 TL;DR

This is a stored cross-site scripting (XSS) vulnerability in DNN CMS where authenticated users can inject malicious JavaScript into the Biography field. The injected code executes in victims' browsers when they view the attacker's profile, potentially affecting all users including administrators. DNN versions before 10.1.0 are vulnerable.

💻 Affected Systems

Products:
  • DNN (DotNetNuke) CMS
Versions: All versions prior to 10.1.0
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Requires user registration/profile functionality to be enabled. The Biography field must be accessible to users.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could steal administrator session cookies, perform actions as administrators, deface the website, or redirect users to malicious sites.

🟠

Likely Case

Attackers steal user session cookies, perform limited actions as compromised users, or deface user profiles.

🟢

If Mitigated

With proper input validation and output encoding, the JavaScript would be rendered harmless as text.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires authenticated user access. Exploitation is straightforward once an account is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 10.1.0

Vendor Advisory: https://github.com/dnnsoftware/Dnn.Platform/security/advisories/GHSA-7rcc-q6rq-jpcm

Restart Required: No

Instructions:

1. Backup your DNN installation and database. 2. Download DNN Platform 10.1.0 or later from the official repository. 3. Follow the standard DNN upgrade procedure. 4. Verify the upgrade completed successfully.

🔧 Temporary Workarounds

Disable Biography Field

all

Remove or disable the Biography field from user profiles to prevent injection.

Implement Input Validation

all

Add server-side validation to sanitize Biography field input before storage.

🧯 If You Can't Patch

  • Implement a Web Application Firewall (WAF) with XSS protection rules
  • Apply Content Security Policy (CSP) headers to restrict script execution

🔍 How to Verify

Check if Vulnerable:

Check DNN version in Host Settings > Basic Settings. If version is below 10.1.0, the system is vulnerable.

Check Version:

Check Host Settings in DNN admin panel or examine web.config file for version information.

Verify Fix Applied:

After upgrading to 10.1.0 or later, test if JavaScript in Biography field is properly sanitized and doesn't execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript patterns in user profile updates
  • Multiple failed XSS attempts in logs

Network Indicators:

  • Unexpected script tags in profile page responses
  • Suspicious outbound connections from profile pages

SIEM Query:

source="dnn_logs" AND ("Biography" OR "profile") AND ("script" OR "javascript" OR "onclick")

🔗 References

📤 Share & Export