CVE-2024-41381

6.1 MEDIUM

📋 TL;DR

Microweber 2.0.16 contains a stored cross-site scripting (XSS) vulnerability in the admin.php settings module that allows attackers to inject malicious scripts. This affects administrators who access the vulnerable settings page, potentially compromising their sessions and administrative access. The vulnerability requires administrative privileges to exploit.

💻 Affected Systems

Products:
  • Microweber
Versions: 2.0.16 specifically (and possibly earlier versions with same code)
Operating Systems: All platforms running Microweber
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with the vulnerable admin.php file. Requires administrative access to exploit.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with admin access could inject persistent malicious scripts that steal administrator credentials, hijack sessions, or deploy backdoors when other admins view the settings page.

🟠

Likely Case

Malicious admin or compromised admin account injects JavaScript to steal session cookies or redirect to phishing pages, leading to account takeover.

🟢

If Mitigated

With proper input validation and output encoding, the malicious scripts would be neutralized, preventing execution.

🌐 Internet-Facing: MEDIUM - While exploitation requires admin access, internet-facing admin panels increase exposure to credential theft attacks.
🏢 Internal Only: LOW - Internal-only deployments reduce external attack surface, though insider threats remain possible.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

The GitHub issue shows proof-of-concept details. Exploitation requires admin privileges but is straightforward once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.17 or later

Vendor Advisory: https://github.com/microweber/microweber/issues/1110

Restart Required: No

Instructions:

1. Backup your Microweber installation. 2. Update to Microweber 2.0.17 or later via the admin panel or manual download. 3. Verify the userfiles/modules/settings/admin.php file has been updated.

🔧 Temporary Workarounds

Input Validation Workaround

all

Manually add input sanitization to the vulnerable admin.php file

Edit userfiles/modules/settings/admin.php and implement proper HTML entity encoding for all user inputs

Access Restriction

all

Restrict access to the admin panel to trusted IP addresses only

Add IP whitelisting rules to your web server configuration (e.g., .htaccess for Apache, nginx.conf for Nginx)

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads
  • Disable or remove the vulnerable admin.php file if the functionality is not required

🔍 How to Verify

Check if Vulnerable:

Check if your Microweber version is 2.0.16 or if the admin.php file lacks proper input sanitization for user-controlled parameters.

Check Version:

Check the version in Microweber admin dashboard or examine the composer.json file

Verify Fix Applied:

After updating, verify the version shows 2.0.17+ and test that script tags in settings inputs are properly encoded in output.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to admin.php with script tags or JavaScript in parameters
  • Multiple failed admin login attempts followed by successful access

Network Indicators:

  • Unexpected outbound connections from admin sessions to external domains
  • Suspicious JavaScript payloads in HTTP requests

SIEM Query:

source="web_logs" AND (url="*admin.php*" AND (param="*<script>*" OR param="*javascript:*"))

🔗 References

📤 Share & Export