CVE-2024-52725

4.9 MEDIUM

📋 TL;DR

SemCms v4.8 contains a SQL injection vulnerability in the SEMCMS_SeoAndTag.php component via the ldgid parameter. This allows attackers to execute arbitrary SQL commands, potentially leading to data theft, modification, or deletion. All users running SemCms v4.8 are affected.

💻 Affected Systems

Products:
  • SemCms
Versions: v4.8
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects SemCms v4.8; earlier or later versions may also be vulnerable but not confirmed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data exfiltration, modification, or deletion; potential remote code execution if database permissions allow.

🟠

Likely Case

Unauthorized data access, privilege escalation, or database manipulation.

🟢

If Mitigated

Limited impact with proper input validation and database permissions.

🌐 Internet-Facing: HIGH - Web applications are typically internet-facing and vulnerable to automated scanning.
🏢 Internal Only: MEDIUM - Internal attackers could exploit if they have network access.

🎯 Exploit Status

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

SQL injection via GET parameter is trivial to exploit; proof-of-concept available on GitHub.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: http://semcms.com

Restart Required: No

Instructions:

Check vendor website for updates; if unavailable, implement workarounds or upgrade to newer version if patched.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize ldgid parameter in SEMCMS_SeoAndTag.php

Edit SEMCMS_SeoAndTag.php and add: $ldgid = intval($_GET['ldgid']);

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns

ModSecurity rule: SecRule ARGS:ldgid "@detectSQLi" "id:1001,phase:2,deny"

🧯 If You Can't Patch

  • Restrict access to SEMCMS_SeoAndTag.php via firewall rules
  • Implement database user with minimal permissions (read-only if possible)

🔍 How to Verify

Check if Vulnerable:

Test by accessing SEMCMS_SeoAndTag.php?ldgid=1' OR '1'='1 and checking for SQL errors

Check Version:

Check SemCms version in admin panel or readme files

Verify Fix Applied:

Test same payload after fix; should return normal response without errors

📡 Detection & Monitoring

Log Indicators:

  • SQL syntax errors in web server logs
  • Unusual database queries from web application

Network Indicators:

  • HTTP requests with SQL keywords in ldgid parameter
  • Multiple rapid requests to SEMCMS_SeoAndTag.php

SIEM Query:

source="web_logs" AND uri="/SEMCMS_SeoAndTag.php" AND (query CONTAINS "' OR" OR query CONTAINS "UNION" OR query CONTAINS "SELECT")

🔗 References

📤 Share & Export