CVE-2024-7950·PHP vulnerability
The WP Job Portal – A Complete Recruitment System for Company or Job Board website plugin for WordPress is vulnerable to Local File Inclusion, Arbitrary Settings Update, and User Creation in all versions up to, and including, 2.1.6 via several functions called by the 'checkFormRequest' function. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included. Attackers can also update arbitrary settings and create user accounts even when registration is disabled, leading to user creation with a default role of Administrator.
- Severity
- critical
- Software
- PHP
- Fixed in
- 2.1.7
- Published
- 2024-09-04
Affected versions
Until: 2.1.7
Fixed in: 2.1.7
How to fix this CVE
Update the WP Job Portal plugin immediately to version 2.1.7 or later, which patches critical vulnerabilities in the 'checkFormRequest' function that allow unauthenticated attackers to execute arbitrary PHP code and create administrator accounts. If you are running PHP with this vulnerable plugin installed, disable it until the update is applied. Verify the update has been successfully installed and test basic plugin functionality before resuming normal operations.
sudo dnf update php -yDefensia detects this vulnerability
What an exploitation attempt looks like
Sample log line indicative of exploitation attempts:
POST requests to wp-admin/admin-ajax.php with 'action=checkFormRequest' parameter combined with suspicious file inclusion paths (../ or file:// protocols) or attempts to create new user accounts via POST data with unexpected 'user_login', 'user_email', and 'user_pass' parametersWAF mitigation (if patching is not yet possible)
Add this rule to your WAF to block exploitation attempts while you schedule the patch.
Block POST requests to wp-admin/admin-ajax.php containing the 'checkFormRequest' action parameter unless originating from authenticated users. Implement input validation to reject requests containing path traversal sequences (../, .., file://) and enforce strict whitelist of allowed form actions.How to check if you are affected
- Check installed PHP version: php -v
- List installed WordPress plugins: wp plugin list --allow-root (if WP-CLI is available) or manually check /wp-content/plugins/ directory for wp-job-portal folder
- Verify WP Job Portal version: grep 'Version:' /path/to/wp-content/plugins/wp-job-portal/wp-job-portal.php or check plugin details in WordPress admin dashboard
- Confirm patch: After updating, re-run the version check to ensure plugin version is 2.1.7 or higher
Indicators of compromise
- POST /wp-admin/admin-ajax.php?action=checkFormRequest
- wp-job-portal/includes/formhandler.php
- wp-job-portal/includes/includer.php
- Suspicious user creation attempts with default Administrator role from unauthenticated sources
FAQ
What is CVE-2024-7950?
CVE-2024-7950 is a critical vulnerability in the WP Job Portal WordPress plugin that allows unauthenticated attackers to include arbitrary files, execute PHP code, modify plugin settings, and create administrator user accounts without authentication.
Is CVE-2024-7950 being actively exploited?
According to CISA KEV data, CVE-2024-7950 is not currently listed as being actively exploited in the wild, though a public exploit may be developed once the vulnerability becomes more widely known.
What versions of WP Job Portal are affected by CVE-2024-7950?
All versions of WP Job Portal up to and including version 2.1.6 are vulnerable. Version 2.1.7 and later include the security patch.
How do I check if my WordPress site is vulnerable to CVE-2024-7950?
Log into your WordPress admin dashboard, navigate to Plugins, and check the version number of WP Job Portal. If it shows version 2.1.6 or earlier, your site is vulnerable. You can also use: wp plugin get wp-job-portal --field=version --allow-root
Does Defensia detect CVE-2024-7950?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the WP Job Portal plugin is installed on a monitored WordPress site, CVE-2024-7950 will appear in your dashboard with remediation steps.
Related PHP CVEs
References
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.1.5/includes/formhandler.php
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.1.5/includes/includer.php
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.1.5/includes/wpjobportal-hooks.php
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.1.5/modules/configuration/controller.php
- https://plugins.trac.wordpress.org/browser/wp-job-portal/tags/2.1.5/modules/user/controller.php
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-7950. Free for 1 server.
Get started free