{"id":"CVE-2025-5953","aliases":["EUVD-2025-19920","GHSA-vcvq-g63r-9f2v"],"status":"published","title":"WP Human Resource Management 2.0.0 - 2.2.17 - Missing Authorization to Authenticated (Employee+) Privilege Escalation via wp_ajax_hrm_insert_employee AJAX Action","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-\u003eset_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.","severity":{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00442,"percentile":0.38652,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-862"],"published":"2025-07-04T01:44:03Z","modified":"2026-06-17T09:49:05Z","products":[{"vendor":"asaquzzaman","product":"wp human resource management"},{"vendor":"mishubd","product":"wp_human_resource_management"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3ba33a18-429f-4a3e-b018-bdfbbe6e8482?source=cve","tags":["Third Party Advisory"]},{"url":"https://wordpress.org/plugins/hrm/#developers","tags":["Release Notes"]},{"url":"https://plugins.trac.wordpress.org/browser/hrm/tags/2.2.17/class/employee.php#L89","tags":["Product"]},{"url":"https://plugins.trac.wordpress.org/browser/hrm/tags/2.2.17/class/employee.php#L543","tags":["Product"]},{"url":"https://plugins.trac.wordpress.org/browser/hrm/tags/2.2.17/class/employee.php#L591","tags":["Product"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-5953"},{"url":"https://github.com/advisories/GHSA-vcvq-g63r-9f2v"}],"sources":{"cve":[{"id":"CVE-2025-5953","title":"WP Human Resource Management 2.0.0 - 2.2.17 - Missing Authorization to Authenticated (Employee+) Privilege Escalation via wp_ajax_hrm_insert_employee AJAX Action","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-\u003eset_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.","status":"published","published":"2025-07-04T01:44:03.834Z","modified":"2025-07-08T14:21:48.349Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:32:30.302289Z"}],"euvd":[{"id":"EUVD-2025-19920","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-\u003eset_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.","status":"published","published":"2025-07-04T01:44:03Z","modified":"2025-07-08T14:21:48Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T20:32:12.59227Z"}],"ghsa":[{"id":"GHSA-vcvq-g63r-9f2v","title":"The WP Human Resource Management plugin for WordPress is vulnerable to Privilege Escalation due...","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-\u003eset_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.","status":"published","published":"2025-07-04T03:30:31Z","modified":"2025-07-04T03:30:38Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:02:53.892162Z"}],"nvd":[{"id":"CVE-2025-5953","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-\u003eset_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.","status":"published","published":"2025-07-04T03:15:21.583Z","modified":"2026-06-17T09:49:05.65Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:11:15.754475Z"}]}}
