CVE-2025-14467
📋 TL;DR
The WP Job Portal WordPress plugin allows authenticated attackers with Editor-level access or higher to inject malicious scripts into job descriptions due to insufficient input sanitization. This stored XSS vulnerability enables script execution when users view affected pages, potentially leading to session hijacking or credential theft. Only WordPress multi-site installations or sites with unfiltered_html disabled are affected.
💻 Affected Systems
- WP Job Portal WordPress Plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers steal administrator credentials, take over the WordPress site, install backdoors, and compromise user data.
Likely Case
Attackers hijack user sessions, redirect visitors to malicious sites, or deface job listing pages.
If Mitigated
Limited impact if proper access controls restrict Editor roles and regular security monitoring is in place.
🎯 Exploit Status
Requires authenticated access with Editor role or higher; exploitation is straightforward via job creation/editing interface
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.4.0 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/wp-job-portal/
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find WP Job Portal plugin
4. Click 'Update Now' if update available
5. If no update available, download version 2.4.0+ from WordPress repository
6. Deactivate old plugin, upload new version, activate
🔧 Temporary Workarounds
Restrict Editor Role Access
allLimit users with Editor role or higher to trusted personnel only
Enable unfiltered_html Capability
allFor single-site installations, ensure unfiltered_html is enabled to bypass vulnerability
🧯 If You Can't Patch
- Temporarily disable the WP Job Portal plugin until patched
- Implement strict role-based access control and audit all users with Editor privileges
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → WP Job Portal → Version number. If version is 2.3.9 or earlier, you are vulnerable if using multi-site OR unfiltered_html disabled.
Check Version:
wp plugin list --name='WP Job Portal' --field=version
Verify Fix Applied:
After updating, verify plugin version shows 2.4.0 or later in WordPress admin plugins page.
📡 Detection & Monitoring
Log Indicators:
- Unusual job creation/editing activity by Editor users
- Multiple script tags in job description content
Network Indicators:
- Unexpected external script loads from job listing pages
SIEM Query:
source="wordpress" AND (plugin="wp-job-portal" AND (event="job_created" OR event="job_updated"))
🔗 References
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.3.9/includes/constants.php#L351
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.3.9/modules/job/model.php#L1278
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.3.9/modules/job/tmpl/views/frontend/title.php#L231
- https://plugins.trac.wordpress.org/browser/wp-job-portal/trunk/includes/constants.php#L351
- https://plugins.trac.wordpress.org/browser/wp-job-portal/trunk/modules/job/model.php#L1278
- https://plugins.trac.wordpress.org/browser/wp-job-portal/trunk/modules/job/tmpl/views/frontend/title.php#L231
- https://www.wordfence.com/threat-intel/vulnerabilities/id/0c347b9f-d297-4cb5-9c4a-1001d845ed5a?source=cve