CVE-2024-36801

5.9 MEDIUM

📋 TL;DR

A SQL injection vulnerability in SEMCMS v4.8 allows remote attackers to extract sensitive information from the database by manipulating the lgid parameter in Download.php. This affects all SEMCMS v4.8 installations with the vulnerable Download.php file. Attackers can potentially access user data, configuration details, or other database contents.

💻 Affected Systems

Products:
  • SEMCMS
Versions: v4.8
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects SEMCMS v4.8 installations with the vulnerable Download.php file. Other versions may be affected but not confirmed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including user credentials, sensitive configuration data, and potentially file system access through database functions.

🟠

Likely Case

Extraction of sensitive information from database tables such as user credentials, configuration settings, or download records.

🟢

If Mitigated

Limited information disclosure if database permissions are properly restricted and input validation is implemented elsewhere.

🌐 Internet-Facing: HIGH - The vulnerability is in a web-accessible file (Download.php) and requires no authentication.
🏢 Internal Only: MEDIUM - While still exploitable internally, external exposure significantly increases attack surface.

🎯 Exploit Status

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

Public proof-of-concept available on GitHub. Exploitation requires minimal technical skill as it's a basic SQL injection.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: No

Instructions:

No official patch available. Replace vulnerable Download.php with patched version from community sources or implement parameterized queries.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add input validation and parameterized queries to Download.php to prevent SQL injection.

Edit Download.php to replace raw SQL queries with prepared statements using PDO or mysqli

WAF Rule Implementation

all

Implement web application firewall rules to block SQL injection attempts targeting the lgid parameter.

Add WAF rule: Detect and block SQL injection patterns in lgid parameter

🧯 If You Can't Patch

  • Restrict access to Download.php using IP whitelisting or authentication
  • Implement database user with minimal permissions (read-only for necessary tables)

🔍 How to Verify

Check if Vulnerable:

Check if SEMCMS version is 4.8 and examine Download.php for unsanitized lgid parameter usage in SQL queries.

Check Version:

Check SEMCMS version in configuration files or admin panel

Verify Fix Applied:

Test the lgid parameter with SQL injection payloads (e.g., ' OR '1'='1) and verify no database errors or unexpected data is returned.

📡 Detection & Monitoring

Log Indicators:

  • SQL syntax errors in web server logs
  • Unusual database queries from web application
  • Multiple requests with SQL keywords in lgid parameter

Network Indicators:

  • HTTP requests containing SQL injection payloads in lgid parameter
  • Unusual database response sizes

SIEM Query:

web.url:*Download.php* AND (web.param.lgid:*OR* OR web.param.lgid:*UNION* OR web.param.lgid:*SELECT*)

🔗 References

📤 Share & Export