CVE-2020-18155
📋 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
- Subrion CMS
📦 What is this software?
Subrion by Intelliants
⚠️ 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.
🎯 Exploit Status
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
allImplement strict input validation for search parameters to reject SQL injection attempts
WAF Rule
allDeploy 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*)