CVE-2024-41804
📋 TL;DR
An authenticated SQL injection vulnerability in Xibo CMS allows attackers to read and modify arbitrary database data by injecting malicious SQL into the 'formula' parameter when adding/editing DataSet column formulas. This affects all Xibo CMS users running vulnerable versions. Attackers must have valid authentication credentials to exploit this vulnerability.
💻 Affected Systems
- Xibo CMS
📦 What is this software?
Xibo by Xibosignage
Xibo by Xibosignage
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including exfiltration of sensitive data, modification of critical system data, privilege escalation, and potential system takeover.
Likely Case
Data theft from the Xibo database including user credentials, content data, and configuration information.
If Mitigated
Limited data exposure if proper input validation and parameterized queries are implemented.
🎯 Exploit Status
SQL injection vulnerabilities are commonly exploited and tooling exists for automated exploitation. Requires authenticated access.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.3.12 or 4.0.14
Vendor Advisory: https://xibosignage.com/blog/security-advisory-2024-07
Restart Required: Yes
Instructions:
1. Backup your Xibo installation and database. 2. Download the patched version from the official Xibo repository. 3. Follow the Xibo upgrade documentation for your version. 4. Restart the Xibo service after upgrade.
🔧 Temporary Workarounds
Input Validation Filter
allImplement application-level filtering to reject SQL keywords in the formula parameter
Not applicable - requires code modification
Database User Privilege Reduction
linuxLimit the database user permissions to only necessary operations
ALTER USER 'xibo_user'@'localhost' WITH GRANT OPTION;
REVOKE ALL PRIVILEGES ON *.* FROM 'xibo_user'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON xibo_database.* TO 'xibo_user'@'localhost';
🧯 If You Can't Patch
- Implement WAF rules to block SQL injection patterns in API requests
- Restrict access to the DataSet Column Formulas API endpoint to only trusted users
🔍 How to Verify
Check if Vulnerable:
Check Xibo version in admin panel or via 'php artisan version' command. If version is below 3.3.12 (for v3) or 4.0.14 (for v4), system is vulnerable.
Check Version:
php artisan version
Verify Fix Applied:
Verify version is 3.3.12 or higher (v3) or 4.0.14 or higher (v4) and test the DataSet Column Formulas functionality.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in database logs
- Multiple failed login attempts followed by API access
- Unusual patterns in formula parameter values
Network Indicators:
- POST requests to /api/dataset/column/formula with SQL keywords in parameters
- Unusual database connection patterns from application server
SIEM Query:
source="web_logs" AND (url_path="/api/dataset/column/formula" AND (param="formula" AND value MATCHES "(?i)(SELECT|UNION|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER)"))
🔗 References
- https://github.com/xibosignage/xibo-cms/commit/39a2fd54b3f08831b0004aa2015bd8a753bc567f.patch
- https://github.com/xibosignage/xibo-cms/security/advisories/GHSA-4pp3-4mw7-qfwr
- https://xibosignage.com/blog/security-advisory-2024-07
- https://github.com/xibosignage/xibo-cms/commit/39a2fd54b3f08831b0004aa2015bd8a753bc567f.patch
- https://github.com/xibosignage/xibo-cms/security/advisories/GHSA-4pp3-4mw7-qfwr
- https://xibosignage.com/blog/security-advisory-2024-07