CVE-2024-11127

6.3 MEDIUM

📋 TL;DR

This critical SQL injection vulnerability in Job Recruitment software allows attackers to execute arbitrary SQL commands via the userid parameter in admin.php. Remote attackers can potentially access, modify, or delete database contents. All users of Job Recruitment up to version 1.0 are affected.

💻 Affected Systems

Products:
  • Job Recruitment
Versions: up to 1.0
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the admin.php file specifically through the userid parameter manipulation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data destruction, authentication bypass, and potential remote code execution via database functions.

🟠

Likely Case

Unauthorized data access, privilege escalation, and potential administrative account takeover.

🟢

If Mitigated

Limited impact with proper input validation and database permissions, though SQL injection attempts would still be logged.

🌐 Internet-Facing: HIGH - Attack can be launched remotely without authentication, making internet-facing instances extremely vulnerable.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this, but requires network access to the application.

🎯 Exploit Status

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

Exploit details are 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. Consider migrating to alternative software or implementing workarounds.

🔧 Temporary Workarounds

Input Validation and Parameterized Queries

all

Modify admin.php to implement proper input validation and use prepared statements for database queries.

Edit admin.php to replace direct SQL concatenation with parameterized queries using PDO or mysqli prepared statements.

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns targeting the userid parameter.

Configure WAF to block requests containing SQL keywords in userid parameter: UNION, SELECT, INSERT, UPDATE, DELETE, DROP, etc.

🧯 If You Can't Patch

  • Isolate the application behind a reverse proxy with strict input filtering
  • Implement network segmentation to limit database access from the application server

🔍 How to Verify

Check if Vulnerable:

Test by sending SQL injection payloads to the userid parameter in admin.php requests and observing database errors or unexpected responses.

Check Version:

Check software version in application interface or configuration files.

Verify Fix Applied:

Attempt SQL injection tests and verify they are blocked or sanitized without affecting legitimate functionality.

📡 Detection & Monitoring

Log Indicators:

  • SQL syntax errors in application logs
  • Unusual database queries from admin.php
  • Multiple failed login attempts via admin interface

Network Indicators:

  • HTTP requests to admin.php with SQL keywords in parameters
  • Unusual database port traffic from web server

SIEM Query:

source="web_logs" AND uri="*admin.php*" AND (param="*userid*UNION*" OR param="*userid*SELECT*" OR param="*userid*OR*1=1*")

🔗 References

📤 Share & Export