CVE-2024-4945
📋 TL;DR
This vulnerability in SourceCodester Best Courier Management System 1.0 allows attackers to upload arbitrary files via the view_parcel.php file by manipulating the 'id' parameter. This affects all installations of this specific software version. Attackers can exploit this remotely without authentication.
💻 Affected Systems
- SourceCodester Best Courier Management System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise through webshell upload leading to remote code execution, data theft, and lateral movement within the network.
Likely Case
Malicious file upload leading to defacement, data exfiltration, or backdoor installation on the web server.
If Mitigated
Limited impact if file uploads are restricted to specific directories with proper permissions and file type validation.
🎯 Exploit Status
Exploit details are publicly available on GitHub and VulDB. The vulnerability requires minimal technical skill to exploit.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: None available
Restart Required: No
Instructions:
No official patch available. Consider upgrading to a newer version if available, or implement workarounds.
🔧 Temporary Workarounds
Input Validation and Sanitization
allAdd server-side validation to restrict file uploads to allowed types and sanitize the 'id' parameter.
Modify view_parcel.php to validate file types and sanitize input
Web Server File Upload Restrictions
linuxConfigure web server to restrict file uploads to specific directories and file types.
Add .htaccess rules for Apache: php_flag engine off in upload directories
For Nginx: location ~ \.(php|phtml)$ { deny all; } in upload directories
🧯 If You Can't Patch
- Remove or restrict access to view_parcel.php file
- Implement WAF rules to block malicious file upload attempts
🔍 How to Verify
Check if Vulnerable:
Check if view_parcel.php exists and accepts file uploads via 'id' parameter without proper validation.
Check Version:
Check application version in admin panel or configuration files
Verify Fix Applied:
Test file upload functionality with malicious files to ensure they are blocked or properly validated.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to view_parcel.php
- Multiple failed upload attempts
- Uploads of executable files like .php, .exe
Network Indicators:
- POST requests to view_parcel.php with file uploads
- Unusual outbound connections after file upload
SIEM Query:
source="web_server" AND uri="*view_parcel.php*" AND method="POST" AND (file_extension="php" OR file_extension="exe" OR file_extension="sh")