CVE-2020-18155

9.8 CRITICAL

📋 TL;DR

This CVE describes a SQL injection vulnerability in Subrion CMS v4.2.1 that occurs in the search page when the website uses a PDO connection. Attackers can inject malicious SQL queries through search parameters, potentially compromising the database. All websites running the affected version with PDO connections are vulnerable.

💻 Affected Systems

Products:
  • Subrion CMS
Versions: v4.2.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations using PDO database connections. MySQLi connections are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, authentication bypass, and potential remote code execution through database functions.

🟠

Likely Case

Database information disclosure, data manipulation, and potential privilege escalation leading to administrative access.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing successful injection.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection through search parameters requires no authentication. Exploitation is straightforward with publicly available PoCs.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v4.2.2 and later

Vendor Advisory: https://github.com/intelliants/subrion/issues/817

Restart Required: No

Instructions:

1. Backup your database and website files. 2. Download the latest version from the official Subrion repository. 3. Replace affected files with patched versions. 4. Clear cache and verify functionality.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement strict input validation for search parameters to reject SQL injection attempts

WAF Rule

all

Deploy web application firewall rules to block SQL injection patterns in search requests

🧯 If You Can't Patch

  • Disable search functionality temporarily
  • Implement strict input validation and parameterized queries in custom code

🔍 How to Verify

Check if Vulnerable:

Test search functionality with SQL injection payloads like ' OR '1'='1 and monitor database responses

Check Version:

Check /admin/dashboard/ or view source for version information

Verify Fix Applied:

Verify version is v4.2.2 or later and test with same SQL injection payloads that should now be rejected

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed search attempts with SQL keywords
  • Long or unusual search parameter values

Network Indicators:

  • HTTP requests with SQL keywords in search parameters
  • Unusual database query patterns from web server

SIEM Query:

web.url:*search* AND (web.param:*OR* OR web.param:*UNION* OR web.param:*SELECT*)

🔗 References

📤 Share & Export