CVE-2024-11241

7.3 HIGH

📋 TL;DR

This critical SQL injection vulnerability in Job Recruitment 1.0 allows remote attackers to execute arbitrary SQL commands via the 'e' parameter in reset.php. Attackers can potentially access, modify, or delete database contents. All users running the vulnerable version are affected.

💻 Affected Systems

Products:
  • code-projects Job Recruitment
Versions: 1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the reset.php file specifically through the 'e' parameter manipulation

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, data destruction, or full system takeover via SQL injection to RCE chaining

🟠

Likely Case

Unauthorized database access allowing extraction of sensitive user data, credentials, or application data

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and database permissions in place

🌐 Internet-Facing: HIGH - Attack can be launched remotely without authentication
🏢 Internal Only: MEDIUM - Still exploitable by internal attackers or compromised internal systems

🎯 Exploit Status

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

Exploit details publicly available on GitHub, making this easily exploitable by attackers with basic SQL injection knowledge

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: https://code-projects.org/

Restart Required: No

Instructions:

No official patch available. Implement parameterized queries in reset.php, validate and sanitize the 'e' parameter input, or consider replacing the software

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Add server-side validation to ensure the 'e' parameter contains only expected email format characters

Modify reset.php to include: $email = filter_var($_GET['e'], FILTER_SANITIZE_EMAIL); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { die('Invalid email'); }

Web Application Firewall Rule

all

Block SQL injection patterns targeting reset.php

WAF specific - add rule to block requests to reset.php containing SQL keywords in parameters

🧯 If You Can't Patch

  • Disable or remove reset.php if password reset functionality is not required
  • Implement network-level restrictions to limit access to reset.php to trusted IP addresses only

🔍 How to Verify

Check if Vulnerable:

Test reset.php with SQL injection payloads in the 'e' parameter: reset.php?e=test' OR '1'='1

Check Version:

Check software version in admin panel or readme files; this affects specifically version 1.0

Verify Fix Applied:

Test with same SQL injection payloads and verify they are rejected or properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL errors in application logs
  • Multiple failed password reset attempts with SQL-like patterns in parameters
  • Requests to reset.php with unusual parameter values

Network Indicators:

  • HTTP requests to reset.php containing SQL keywords (UNION, SELECT, INSERT, etc.) in parameters
  • Unusual database query patterns from web server

SIEM Query:

source="web_logs" AND uri="/reset.php" AND (param="*UNION*" OR param="*SELECT*" OR param="*INSERT*" OR param="*' OR '*")

🔗 References

📤 Share & Export