CVE-2024-4945

4.3 MEDIUM

📋 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

Products:
  • SourceCodester Best Courier Management System
Versions: 1.0
Operating Systems: Any OS running PHP web server
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations of version 1.0. The vulnerability is in the core application code.

📦 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

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

all

Add 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

linux

Configure 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")

🔗 References

📤 Share & Export