CVE-2024-11965

7.3 HIGH

📋 TL;DR

This critical SQL injection vulnerability in PHPGurukul Complaint Management System 1.0 allows remote attackers to execute arbitrary SQL commands via the email parameter in the password reset function. Attackers can potentially access, modify, or delete database content. All users running version 1.0 without proper input validation are affected.

💻 Affected Systems

Products:
  • PHPGurukul Complaint Management System
Versions: 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the /user/reset-password.php endpoint specifically. Any deployment with this file accessible is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including credential theft, data exfiltration, privilege escalation, and potential system takeover via SQL injection leading to remote code execution.

🟠

Likely Case

Unauthorized database access leading to sensitive information disclosure, user account compromise, and potential data manipulation.

🟢

If Mitigated

Limited impact with proper input validation and database permissions restricting SQL execution to read-only operations.

🌐 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. The vulnerability requires no authentication and has simple exploitation vectors.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://phpgurukul.com/

Restart Required: No

Instructions:

No official patch available. Consider implementing input validation and parameterized queries manually or migrating to a different system.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add server-side validation and sanitization for the email parameter in reset-password.php

Edit /user/reset-password.php to implement proper input filtering and use prepared statements

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns targeting the reset-password endpoint

Configure WAF to block requests containing SQL injection patterns to /user/reset-password.php

🧯 If You Can't Patch

  • Restrict network access to the application using firewall rules
  • Implement strong database permissions limiting application user to necessary operations only

🔍 How to Verify

Check if Vulnerable:

Test the /user/reset-password.php endpoint with SQL injection payloads in the email parameter

Check Version:

Check application version in admin panel or configuration files

Verify Fix Applied:

Verify that SQL injection attempts no longer succeed and proper input validation is implemented

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed password reset attempts with suspicious email patterns
  • Database query errors containing SQL injection payloads

Network Indicators:

  • HTTP POST requests to /user/reset-password.php with SQL keywords in parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_logs" AND uri_path="/user/reset-password.php" AND (email="*' OR *" OR email="*;*" OR email="*--*" OR email="*UNION*" OR email="*SELECT*" OR email="*INSERT*" OR email="*UPDATE*" OR email="*DELETE*")

🔗 References

📤 Share & Export