CVE-2024-6901

6.3 MEDIUM

📋 TL;DR

This critical SQL injection vulnerability in SourceCodester Record Management System 1.0 allows remote attackers to execute arbitrary SQL commands via the 'school' parameter in entry.php. Attackers can potentially access, modify, or delete database records. All deployments of this specific software version are affected.

💻 Affected Systems

Products:
  • SourceCodester Record Management System
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of version 1.0 are vulnerable by default. The vulnerability exists in the entry.php file.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data destruction, and potential remote code execution if database permissions allow.

🟠

Likely Case

Unauthorized data access, data manipulation, and potential privilege escalation within the application.

🟢

If Mitigated

Limited impact with proper input validation and database permission restrictions in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Public exploit code is available on GitHub. The vulnerability requires no authentication and has simple exploitation.

🛠️ 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 proper input validation and parameterized queries to entry.php to sanitize the 'school' parameter.

Modify entry.php to use prepared statements with parameterized queries for all database operations

Web Application Firewall Rules

all

Implement WAF rules to block SQL injection patterns targeting the 'school' parameter.

Add WAF rule: Block requests containing SQL keywords in 'school' parameter

🧯 If You Can't Patch

  • Isolate the system behind a firewall and restrict access to trusted IPs only.
  • Implement network segmentation to limit database access from the application server.

🔍 How to Verify

Check if Vulnerable:

Test the 'school' parameter in entry.php with SQL injection payloads like ' OR '1'='1

Check Version:

Check application version in admin panel or configuration files

Verify Fix Applied:

Test that SQL injection payloads no longer work and that parameterized queries are implemented.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed login attempts following SQL injection patterns

Network Indicators:

  • HTTP requests with SQL keywords in 'school' parameter
  • Unusual database query patterns

SIEM Query:

source="web_logs" AND ("school" AND ("OR", "UNION", "SELECT", "INSERT", "DELETE"))

🔗 References

📤 Share & Export