CVE-2024-12980
📋 TL;DR
This vulnerability allows attackers to inject malicious scripts into the Job Recruitment 1.0 application through the fname/lname parameters in the fln_update function. When exploited, it enables cross-site scripting attacks that can steal user sessions, redirect users, or deface websites. Organizations using Job Recruitment 1.0 are affected.
💻 Affected Systems
- Job Recruitment
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers steal administrator credentials, take over the recruitment system, and access sensitive applicant data including resumes and personal information.
Likely Case
Attackers inject malicious scripts that steal user session cookies, redirect job applicants to phishing sites, or deface the recruitment portal.
If Mitigated
With proper input validation and output encoding, the attack fails and users experience normal application functionality.
🎯 Exploit Status
Exploit details are publicly available on GitHub, making this easy for attackers to weaponize.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://code-projects.org/
Restart Required: No
Instructions:
No official patch available. Consider implementing input validation and output encoding in /_parse/_all_edits.php or migrating to a supported alternative.
🔧 Temporary Workarounds
Input Validation Filter
allAdd server-side validation to sanitize fname and lname parameters before processing
Edit /_parse/_all_edits.php to add: $fname = htmlspecialchars($_POST['fname'], ENT_QUOTES, 'UTF-8'); $lname = htmlspecialchars($_POST['lname'], ENT_QUOTES, 'UTF-8');
WAF Rule Implementation
allDeploy web application firewall rules to block XSS payloads in fname/lname parameters
Configure WAF to block patterns like: <script>, javascript:, onload=, etc. in POST parameters
🧯 If You Can't Patch
- Implement Content Security Policy (CSP) headers to restrict script execution
- Disable or restrict access to the vulnerable /_parse/_all_edits.php endpoint
🔍 How to Verify
Check if Vulnerable:
Test by submitting payload: <script>alert('XSS')</script> in fname or lname parameters to /_parse/_all_edits.php
Check Version:
Check application files for version information or review installation documentation
Verify Fix Applied:
After implementing fixes, test with same XSS payloads and verify they are properly sanitized or blocked
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to /_parse/_all_edits.php with script tags or JavaScript in parameters
- Multiple failed validation attempts on fname/lname fields
Network Indicators:
- HTTP requests containing <script> tags in POST body parameters
- Unusual traffic patterns to the vulnerable endpoint
SIEM Query:
source="web_logs" AND uri="/_parse/_all_edits.php" AND (body CONTAINS "<script>" OR body CONTAINS "javascript:")