CVE-2024-44920

6.1 MEDIUM

📋 TL;DR

This is a cross-site scripting (XSS) vulnerability in SeaCMS v12.9 that allows attackers to inject malicious scripts into the admin_collect_news.php component via the siteurl parameter. Attackers can execute arbitrary JavaScript in the context of the admin panel, potentially compromising administrative accounts. Only SeaCMS v12.9 installations with the vulnerable component are affected.

💻 Affected Systems

Products:
  • SeaCMS
Versions: v12.9
Operating Systems: All platforms running SeaCMS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the admin_collect_news.php component when processing the siteurl parameter. All default installations of SeaCMS v12.9 are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal admin session cookies, take over administrative accounts, deface websites, or redirect users to malicious sites, potentially leading to complete system compromise.

🟠

Likely Case

Attackers would steal admin credentials or session tokens to gain unauthorized administrative access, allowing them to modify content, install backdoors, or access sensitive data.

🟢

If Mitigated

With proper input validation and output encoding, the attack would be prevented, and only sanitized data would be displayed without script execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires access to the admin panel or tricking an admin into visiting a malicious link. The vulnerability is in a parameter that accepts user input without proper sanitization.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: Not available

Restart Required: No

Instructions:

1. Check for official SeaCMS updates or patches. 2. If no patch is available, implement input validation and output encoding in admin_collect_news.php. 3. Sanitize the siteurl parameter before processing.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add input validation to the siteurl parameter in admin_collect_news.php to reject malicious payloads.

Edit admin_collect_news.php and add validation: if (!filter_var($siteurl, FILTER_VALIDATE_URL)) { die('Invalid URL'); }

Output Encoding

all

Apply proper output encoding when displaying the siteurl parameter to prevent script execution.

Use htmlspecialchars() or similar functions when outputting $siteurl: echo htmlspecialchars($siteurl, ENT_QUOTES, 'UTF-8');

🧯 If You Can't Patch

  • Restrict access to the admin panel using IP whitelisting or VPN.
  • Implement a Web Application Firewall (WAF) with XSS protection rules.

🔍 How to Verify

Check if Vulnerable:

Test by injecting a simple XSS payload like <script>alert('XSS')</script> into the siteurl parameter of admin_collect_news.php and check if it executes.

Check Version:

Check the SeaCMS version in the admin panel or configuration files.

Verify Fix Applied:

After applying fixes, test with the same XSS payload to ensure it does not execute and is properly sanitized or rejected.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to admin_collect_news.php with script tags or encoded payloads in the siteurl parameter.

Network Indicators:

  • HTTP requests containing malicious scripts in URL parameters directed at the admin panel.

SIEM Query:

source="web_logs" AND uri="/admin_collect_news.php" AND (siteurl CONTAINS "<script>" OR siteurl CONTAINS "javascript:")

🔗 References

📤 Share & Export