CVE-2024-50716
📋 TL;DR
A critical SQL injection vulnerability in Smart Agent v1.1.0 allows remote attackers to execute arbitrary SQL commands via the 'id' parameter in the /sendPushManually.php endpoint. This can lead to complete system compromise, data theft, or service disruption. All organizations running the vulnerable version are affected.
💻 Affected Systems
- Smart Agent
📦 What is this software?
Smart Agent by Smarts Srl
Smart Agent by Smarts Srl
⚠️ Risk & Real-World Impact
Worst Case
Full system compromise allowing attacker to execute arbitrary code, exfiltrate sensitive data, pivot to other systems, and maintain persistent access.
Likely Case
Database compromise leading to data theft, manipulation, or deletion, potentially enabling further attacks on connected systems.
If Mitigated
Limited impact with proper input validation, parameterized queries, and network segmentation in place.
🎯 Exploit Status
The vulnerability is easily exploitable with publicly available SQL injection techniques and requires no authentication.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://smarts-srl.com
Restart Required: No
Instructions:
1. Check vendor website for security updates. 2. If patch available, download and apply. 3. Verify fix by testing the vulnerable endpoint.
🔧 Temporary Workarounds
Web Application Firewall (WAF) Rules
allImplement WAF rules to block SQL injection patterns targeting the /sendPushManually.php endpoint.
WAF-specific configuration commands vary by vendor
Network Access Control
linuxRestrict access to the vulnerable endpoint using firewall rules or network segmentation.
iptables -A INPUT -p tcp --dport 80 -m string --string "/sendPushManually.php" --algo bm -j DROP
🧯 If You Can't Patch
- Disable or remove the /sendPushManually.php component entirely.
- Implement strict input validation and parameterized queries in the application code.
🔍 How to Verify
Check if Vulnerable:
Test the /sendPushManually.php endpoint with SQL injection payloads in the 'id' parameter (e.g., id=1' OR '1'='1).
Check Version:
Check application version in admin interface or configuration files.
Verify Fix Applied:
Retest with SQL injection payloads after applying fixes; successful attacks should be blocked.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in application logs
- Multiple failed login attempts or SQL errors from single IP
- Requests to /sendPushManually.php with suspicious parameters
Network Indicators:
- Unusual outbound database connections
- SQL error messages in HTTP responses
- High volume of requests to vulnerable endpoint
SIEM Query:
source="web_logs" AND uri="/sendPushManually.php" AND (param="id" AND value MATCHES "[';]|OR|UNION|SELECT")