Description
The WP Human Resource Management plugin for WordPress is vulnerable to Privilege Escalation due to missing authorization in the ajax_insert_employee() and update_empoyee() functions in versions 2.0.0 through 2.2.17. The AJAX handler reads the client-supplied $_POST['role'] and, after basic cleaning via hrm_clean(), passes it directly to wp_insert_user() and later to $user->set_role() without verifying that the current user is allowed to assign that role. This makes it possible for authenticated attackers, with Employee-level access and above, to elevate their privileges to administrator.
Problem types
Product status
2.0.0 (semver)
Timeline
| 2025-07-03: | Disclosed |
Credits
Kenneth Dunn
References
www.wordfence.com/...-429f-4a3e-b018-bdfbbe6e8482?source=cve
plugins.trac.wordpress.org/...tags/2.2.17/class/employee.php
plugins.trac.wordpress.org/...tags/2.2.17/class/employee.php
plugins.trac.wordpress.org/...tags/2.2.17/class/employee.php