CVE-2024-11715
📋 TL;DR
This vulnerability in the WP Job Portal WordPress plugin allows unauthenticated attackers to assign themselves the employer role without proper authorization. It affects all WordPress sites using WP Job Portal plugin versions up to 2.2.2. Attackers can gain employer-level privileges to potentially access sensitive recruitment data and functionality.
💻 Affected Systems
- WP Job Portal WordPress Plugin
📦 What is this software?
Wp Job Portal by Wpjobportal
⚠️ Risk & Real-World Impact
Worst Case
Attackers gain employer access to view applicant data, post malicious job listings, or pivot to further attacks on the WordPress installation.
Likely Case
Attackers create fake employer accounts to post spam job listings or harvest applicant information.
If Mitigated
With proper monitoring and limited plugin functionality, impact is limited to unauthorized employer account creation.
🎯 Exploit Status
Public proof-of-concept available showing simple HTTP request exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.2.3
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3202327/wp-job-portal/tags/2.2.3/modules/user/controller.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins. 3. Find WP Job Portal. 4. Click 'Update Now' or manually update to version 2.2.3+. 5. Verify update completes successfully.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily disable the WP Job Portal plugin until patched.
wp plugin deactivate wp-job-portal
Restrict Access
allUse web application firewall to block requests to vulnerable endpoints.
🧯 If You Can't Patch
- Implement strict network access controls to limit plugin exposure
- Enable detailed logging and monitoring for unauthorized role assignment attempts
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > WP Job Portal version. If version is 2.2.2 or lower, system is vulnerable.
Check Version:
wp plugin get wp-job-portal --field=version
Verify Fix Applied:
Verify plugin version is 2.2.3 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unauthorized POST requests to /wp-admin/admin-ajax.php with action=assignUserRole
- Sudden creation of employer role accounts from unfamiliar IPs
Network Indicators:
- HTTP POST requests to admin-ajax.php with assignUserRole parameter from unauthenticated sources
SIEM Query:
source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND method="POST" AND params.action="assignUserRole"
🔗 References
- https://gist.github.com/tvnnn/9b706643c5f88989c98815be8b101e11
- https://plugins.trac.wordpress.org/changeset/3202327/wp-job-portal/tags/2.2.3/modules/user/controller.php?old=3187129&old_path=wp-job-portal%2Ftags%2F2.2.2%2Fmodules%2Fuser%2Fcontroller.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/4107199d-e3c7-4379-b39d-1868de7d777b?source=cve