CVE-2024-8467

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in Job Portal software allows attackers to execute arbitrary SQL queries through the id parameter in the admin category management page. Attackers can retrieve all database information, potentially including sensitive user data and administrative credentials. Organizations running vulnerable Job Portal installations are affected.

💻 Affected Systems

Products:
  • Job Portal
Versions: All versions prior to patch
Operating Systems: All platforms running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the admin interface at /jobportal/admin/category/index.php specifically through the id parameter.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data exfiltration, privilege escalation, and potential remote code execution via database functions.

🟠

Likely Case

Unauthorized access to sensitive data including user credentials, personal information, and administrative data stored in the database.

🟢

If Mitigated

Limited impact with proper input validation and parameterized queries preventing successful exploitation.

🌐 Internet-Facing: HIGH - The vulnerable endpoint is accessible via web interface and exploitation requires no authentication.
🏢 Internal Only: MEDIUM - While still vulnerable, internal systems have additional network segmentation and access controls.

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly weaponized and this appears to be a straightforward parameter injection.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check vendor advisory for specific patched version

Vendor Advisory: https://www.incibe.es/en/incibe-cert/notices/aviso/multiple-vulnerabilities-job-portal

Restart Required: No

Instructions:

1. Review the vendor advisory for patch details
2. Apply the latest security update from the vendor
3. Verify the fix by testing the vulnerable endpoint

🔧 Temporary Workarounds

Input Validation Filter

all

Add server-side validation to ensure id parameter contains only numeric values

In PHP: if(!is_numeric($_GET['id'])) { die('Invalid input'); }

WAF Rule

all

Implement web application firewall rules to block SQL injection patterns

ModSecurity rule: SecRule ARGS:id "@detectSQLi" "id:1001,phase:2,deny"

🧯 If You Can't Patch

  • Block external access to /jobportal/admin/ directory via firewall or web server configuration
  • Implement strict input validation and parameterized queries in the vulnerable PHP file

🔍 How to Verify

Check if Vulnerable:

Test the endpoint with SQL injection payloads like: /jobportal/admin/category/index.php?id=1' OR '1'='1

Check Version:

Check the software version in admin panel or configuration files

Verify Fix Applied:

Attempt SQL injection tests and verify they are rejected or properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in web logs
  • Multiple requests with SQL keywords in id parameter
  • Requests to admin/category/index.php with suspicious parameters

Network Indicators:

  • HTTP requests containing SQL injection patterns in query strings
  • Unusual database query patterns from web server

SIEM Query:

source="web_logs" AND uri="/jobportal/admin/category/index.php" AND (query="*id=*'*" OR query="*id=*%27*")

🔗 References

📤 Share & Export