CVE-2022-29666

7.2 HIGH

📋 TL;DR

CVE-2022-29666 is a SQL injection vulnerability in CSCMS Music Portal System v4.2 that allows attackers to execute arbitrary SQL commands via the id parameter in the admin panel. This affects administrators and potentially compromises the entire database. Attackers could steal sensitive data, modify content, or gain unauthorized access.

💻 Affected Systems

Products:
  • CSCMS Music Portal System
Versions: v4.2
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Requires access to the admin.php endpoint, typically requiring authentication to reach the vulnerable /pic/admin/lists/zhuan path.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, privilege escalation, and potential remote code execution if database functions allow it.

🟠

Likely Case

Unauthorized data access, modification of music portal content, and potential administrative account takeover.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries in place.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is accessible via web interface, making it directly exploitable from the internet.
🏢 Internal Only: MEDIUM - While internet-facing, internal attackers could also exploit this if they gain access to the admin interface.

🎯 Exploit Status

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

SQL injection via id parameter is well-documented and easy to exploit with standard SQLi techniques. Requires admin authentication to reach the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v4.3 or later

Vendor Advisory: https://github.com/chshcms/cscms/issues/24

Restart Required: No

Instructions:

1. Backup your current installation. 2. Download the latest version from the official repository. 3. Replace affected files with patched versions. 4. Verify the fix by testing the vulnerable endpoint.

🔧 Temporary Workarounds

Input Validation Filter

all

Add input validation to sanitize the id parameter before processing

Modify /admin.php/pic/admin/lists/zhuan to validate id parameter as integer

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns

Add WAF rule: deny requests with SQL keywords in id parameter

🧯 If You Can't Patch

  • Restrict access to /admin.php endpoint using IP whitelisting
  • Implement parameterized queries or prepared statements for all database interactions

🔍 How to Verify

Check if Vulnerable:

Test the /admin.php/pic/admin/lists/zhuan endpoint with SQL injection payloads in the id parameter

Check Version:

Check version in system configuration or admin panel

Verify Fix Applied:

Attempt SQL injection on the patched endpoint and verify it rejects malicious input

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by admin access
  • Suspicious id parameter values in web logs

Network Indicators:

  • SQL keywords in HTTP POST/GET parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND (uri="/admin.php/pic/admin/lists/zhuan" AND (param="id" AND value MATCH "(?i)(union|select|insert|update|delete|drop|--|#)"))

🔗 References

📤 Share & Export