CVE-2024-54818
📋 TL;DR
CVE-2024-54818 is an incorrect access control vulnerability in SourceCodester Computer Laboratory Management System 1.0 that allows unauthorized access to administrative functions via the /php-lms/admin/?page=user/list endpoint. This affects all organizations using this specific version of the software without proper access controls implemented.
💻 Affected Systems
- SourceCodester Computer Laboratory Management System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers gain full administrative control over the laboratory management system, allowing them to modify user accounts, access sensitive data, or disrupt laboratory operations.
Likely Case
Unauthorized users access administrative functions to view or modify user lists, potentially exposing sensitive information or creating unauthorized accounts.
If Mitigated
Proper access controls prevent unauthorized access, limiting impact to legitimate administrative functions only.
🎯 Exploit Status
Exploitation requires understanding of the application's access control mechanisms and endpoint structure.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not specified in available references
Vendor Advisory: Not available in provided references
Restart Required: No
Instructions:
1. Check SourceCodester website for security updates
2. Apply any available patches for version 1.0
3. Verify access controls are properly implemented
🔧 Temporary Workarounds
Implement Proper Access Controls
allAdd authentication and authorization checks to the /php-lms/admin/ endpoint
Restrict Admin Access
web_serverUse web server configuration to restrict access to admin endpoints to authorized IPs only
# Apache: Order deny,allow
Deny from all
Allow from 192.168.1.0/24
# Nginx: allow 192.168.1.0/24;
deny all;
🧯 If You Can't Patch
- Implement network segmentation to isolate the vulnerable system
- Deploy a web application firewall (WAF) with access control rules
🔍 How to Verify
Check if Vulnerable:
Attempt to access /php-lms/admin/?page=user/list without proper authentication to see if access is granted
Check Version:
Check application version in admin panel or configuration files
Verify Fix Applied:
Verify that unauthorized access attempts to the admin endpoint are properly blocked
📡 Detection & Monitoring
Log Indicators:
- Unauthorized access attempts to /php-lms/admin/ endpoints
- Multiple failed authentication attempts followed by successful admin access
Network Indicators:
- HTTP requests to /php-lms/admin/?page=user/list from unauthorized IPs
SIEM Query:
source="web_server" AND uri="/php-lms/admin/*" AND (response_code=200 OR response_code=302) AND NOT user="admin_user"