CVE-2024-2584
📋 TL;DR
This SQL injection vulnerability in AMSS++ version 4.31 allows remote attackers to execute arbitrary SQL queries through the 'sd_index' parameter in the /amssplus/modules/book/main/select_send.php endpoint. Attackers can potentially retrieve, modify, or delete all database information. Organizations using AMSS++ version 4.31 are affected.
💻 Affected Systems
- AMSS++
📦 What is this software?
Amss\+\+ by Amss\+\+ Project
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including sensitive data exfiltration, data manipulation, or deletion, potentially leading to full system takeover if database privileges allow.
Likely Case
Unauthorized access to database contents, extraction of sensitive information, and potential data manipulation.
If Mitigated
Limited impact with proper input validation, parameterized queries, and database permission restrictions in place.
🎯 Exploit Status
SQL injection vulnerabilities are typically easy to exploit with readily available tools. The vulnerability requires no authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-amssplus-amss
Restart Required: No
Instructions:
1. Check vendor advisory for patch availability. 2. If patch exists, download and apply according to vendor instructions. 3. Verify fix by testing the vulnerable endpoint.
🔧 Temporary Workarounds
Input Validation and Sanitization
allImplement server-side validation and sanitization of the 'sd_index' parameter to prevent SQL injection.
Web Application Firewall (WAF)
allDeploy a WAF with SQL injection protection rules to block malicious requests.
🧯 If You Can't Patch
- Implement network segmentation to restrict access to the vulnerable endpoint.
- Apply database permission restrictions to limit potential damage from successful exploitation.
🔍 How to Verify
Check if Vulnerable:
Test the /amssplus/modules/book/main/select_send.php endpoint with SQL injection payloads in the 'sd_index' parameter and observe database errors or unexpected responses.
Check Version:
Check AMSS++ version through application interface or configuration files.
Verify Fix Applied:
Retest the vulnerable endpoint with SQL injection payloads after applying fixes; successful payloads should be blocked or sanitized.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL error messages in application logs
- Multiple requests to /amssplus/modules/book/main/select_send.php with suspicious parameters
Network Indicators:
- HTTP requests containing SQL keywords (SELECT, UNION, etc.) in the 'sd_index' parameter
SIEM Query:
source="web_server_logs" AND uri="/amssplus/modules/book/main/select_send.php" AND (param="sd_index" AND value MATCH "(?i)(SELECT|UNION|OR|AND|--|#)")