CVE-2024-29399
📋 TL;DR
This vulnerability allows remote attackers to execute arbitrary code on systems running vulnerable versions of GNU Savane by uploading a specially crafted file to the upload.php component. Attackers can escalate privileges and gain control of affected systems. Organizations using GNU Savane versions 3.13 and earlier are affected.
💻 Affected Systems
- GNU Savane
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise with root/admin privileges, data exfiltration, lateral movement within the network, and persistent backdoor installation.
Likely Case
Remote code execution leading to web server compromise, data theft, and potential privilege escalation to system-level access.
If Mitigated
Limited impact with proper file upload restrictions, web application firewalls, and network segmentation in place.
🎯 Exploit Status
Public exploit code available on GitHub, making exploitation straightforward for attackers.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not available
Vendor Advisory: Not available
Restart Required: No
Instructions:
1. Check for official patches from GNU Savane project. 2. If no patch available, implement workarounds. 3. Consider upgrading to a maintained version if available.
🔧 Temporary Workarounds
Disable upload.php
linuxTemporarily disable or restrict access to the vulnerable upload.php component
mv /path/to/savane/upload.php /path/to/savane/upload.php.disabled
chmod 000 /path/to/savane/upload.php.disabled
Implement file upload restrictions
allConfigure web server to restrict file uploads to specific extensions and validate file types
# Add to Apache .htaccess: <Files "upload.php"> Require all denied </Files>
# Add to Nginx config: location ~ /upload\.php$ { deny all; }
🧯 If You Can't Patch
- Implement strict network segmentation to isolate Savane instances
- Deploy web application firewall with specific rules to block malicious file uploads
🔍 How to Verify
Check if Vulnerable:
Check Savane version: grep 'version' /path/to/savane/configuration/files or check admin interface. If version ≤ 3.13, system is vulnerable.
Check Version:
grep -r 'version.*3\.' /path/to/savane/ || find /path/to/savane -name "*.php" -exec grep -l 'Savane.*3\.' {} \;
Verify Fix Applied:
Verify upload.php is disabled or restricted, and test file upload functionality with controlled test files.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to upload.php
- Large or suspicious POST requests to upload endpoint
- System commands executed from web process
Network Indicators:
- POST requests to /upload.php with unusual file extensions
- Outbound connections from web server to unknown IPs
SIEM Query:
source="web_logs" AND (uri="/upload.php" AND (file_extension="php" OR file_extension="sh" OR file_extension="py"))