CVE-2021-35437

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in LMXCMS v1.4 allows attackers to execute arbitrary SQL commands through the TagsAction.class component. Attackers can potentially read, modify, or delete database content, and in some configurations execute arbitrary code. All systems running LMXCMS v1.4 are affected.

💻 Affected Systems

Products:
  • LMXCMS
Versions: v1.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of LMXCMS v1.4 are vulnerable by default. The vulnerability exists in the core code and doesn't require special configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise including remote code execution, database destruction, and unauthorized administrative access to the entire application.

🟠

Likely Case

Database information disclosure, data manipulation, and potential privilege escalation within the application.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, potentially only allowing data viewing without modification.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public proof-of-concept exists in GitHub repositories. SQL injection vulnerabilities are commonly weaponized and this one appears straightforward to exploit.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: Unknown

Restart Required: No

Instructions:

1. Check if LMXCMS has released an official patch or updated version. 2. If available, backup your database and files. 3. Apply the patch or upgrade to the fixed version. 4. Test the application functionality.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation and parameterized queries for all user inputs in the TagsAction.class and related components.

Modify PHP code to use prepared statements: $stmt = $pdo->prepare('SELECT * FROM tags WHERE id = ?'); $stmt->execute([$user_input]);

WAF Configuration

all

Configure web application firewall to block SQL injection patterns targeting the vulnerable endpoint.

Configure WAF rules to detect and block SQL injection patterns in POST/GET parameters

🧯 If You Can't Patch

  • Isolate the LMXCMS instance behind a reverse proxy with strict input filtering
  • Implement database-level controls: restrict application database user permissions to minimum required

🔍 How to Verify

Check if Vulnerable:

Check if running LMXCMS v1.4 by examining version files or admin panel. Test the TagsAction endpoint with SQL injection payloads.

Check Version:

Check /admin/ directory for version information or examine config files for version strings

Verify Fix Applied:

Test the previously vulnerable endpoint with SQL injection payloads to confirm they are properly sanitized or blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in application logs
  • Multiple failed login attempts followed by SQL syntax in requests
  • Requests to TagsAction.class with SQL keywords in parameters

Network Indicators:

  • HTTP requests containing SQL injection payloads targeting the vulnerable endpoint
  • Unusual database connection patterns from the web server

SIEM Query:

source="web_logs" AND (uri="*TagsAction*" AND (param="*UNION*" OR param="*SELECT*" OR param="*INSERT*" OR param="*DELETE*"))

🔗 References

📤 Share & Export