CVE-2024-44639
📋 TL;DR
PHPGurukul Student Record System 3.20 contains SQL injection vulnerabilities in the add-subject.php file through multiple parameters (sub1, sub2, sub3, sub4, course-short). Attackers can execute arbitrary SQL commands to manipulate or extract database contents. Organizations using this specific version of the student record system are affected.
💻 Affected Systems
- PHPGurukul Student Record System
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, data manipulation, or unauthorized administrative access to the entire system.
Likely Case
Extraction of sensitive student records, grades, and personal information from the database.
If Mitigated
Limited impact with proper input validation and database permissions restricting damage to non-sensitive data.
🎯 Exploit Status
SQL injection is a well-understood attack vector with many available tools. The specific parameters are documented in the CVE reference.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://phpgurukul.com/student-record-system-php
Restart Required: No
Instructions:
1. Check vendor website for updated version. 2. If available, download and replace current installation. 3. Test functionality after update.
🔧 Temporary Workarounds
Input Validation and Sanitization
allImplement strict input validation and parameterized queries in add-subject.php to prevent SQL injection.
Modify PHP code to use prepared statements with PDO or mysqli
Web Application Firewall (WAF)
allDeploy a WAF with SQL injection rules to block malicious requests.
🧯 If You Can't Patch
- Restrict access to add-subject.php using network ACLs or authentication requirements.
- Implement database user with minimal privileges (read-only where possible) for the application.
🔍 How to Verify
Check if Vulnerable:
Review the add-subject.php file for lack of parameterized queries and test parameters with SQL injection payloads.
Check Version:
Check the system documentation or admin panel for version information; typically displayed in footer or about page.
Verify Fix Applied:
Test the add-subject.php functionality with SQL injection payloads to ensure they are blocked or sanitized.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL error messages in web server logs
- Multiple failed login attempts or parameter manipulation in add-subject.php requests
Network Indicators:
- HTTP requests to add-subject.php with SQL keywords (e.g., UNION, SELECT, DROP) in parameters
SIEM Query:
source="web_server_logs" AND uri="*add-subject.php*" AND (param="*sub1*" OR param="*sub2*" OR param="*sub3*" OR param="*sub4*" OR param="*course-short*") AND (message="*sql*" OR message="*union*" OR message="*select*")