CVE-2024-10158
📋 TL;DR
This vulnerability allows attackers to perform session fixation attacks on PHPGurukul Boat Booking System 1.0. By manipulating the session_start function, attackers can force users to use predetermined session IDs, potentially leading to unauthorized access. This affects all deployments of PHPGurukul Boat Booking System 1.0.
💻 Affected Systems
- PHPGurukul Boat Booking System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers gain unauthorized administrative access to the booking system, allowing them to view/modify bookings, access user data, or disrupt operations.
Likely Case
Attackers hijack user sessions to access booking information, modify reservations, or perform unauthorized actions within user accounts.
If Mitigated
Limited impact with proper session management controls, potentially only affecting non-critical user data.
🎯 Exploit Status
Exploit details are publicly available on GitHub, making exploitation straightforward for attackers with basic web security knowledge.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not available
Vendor Advisory: https://phpgurukul.com/
Restart Required: No
Instructions:
No official patch available. Consider implementing workarounds or migrating to alternative software.
🔧 Temporary Workarounds
Implement Session Regeneration
allAdd session_regenerate_id(true) after session_start() to generate new session IDs and invalidate old ones.
Edit PHP files to add: session_regenerate_id(true); after session_start();
Add Session Validation
allImplement custom session validation to check for session fixation attempts.
Add custom PHP code to validate session creation and detect fixation attempts
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to detect and block session fixation attempts
- Deploy the system behind reverse proxy with additional session security controls
🔍 How to Verify
Check if Vulnerable:
Check if session_start() is called without session_regenerate_id() and if session IDs can be forced via URL parameters.
Check Version:
Check PHPGurukul Boat Booking System version in admin panel or configuration files
Verify Fix Applied:
Test if session IDs change after authentication and cannot be forced via external parameters.
📡 Detection & Monitoring
Log Indicators:
- Multiple session creations from same IP with different session IDs
- Session IDs passed as URL parameters
Network Indicators:
- HTTP requests containing session IDs in URL parameters
- Unusual session creation patterns
SIEM Query:
source="web_logs" AND (url="*PHPSESSID=*" OR url="*session=*")