Description
Frappe HR (hrms) before 16.11.0, including all 14.x and 15.x releases through 15.64.3, contains a missing authorization vulnerability in the whitelisted expire_allocation method that allows authenticated users to expire any leave allocation. Attackers without HR roles can name another employee's Leave Allocation in a POST request to zero its allocated leaves and wipe that employee's remaining leave balance.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| frappe | hrms | < 16.11.0 | 16.11.0 |
References
- https://hackmd.io/@haind03/frappe-hrms-expire-allocation-missing-authorization-20261010 third-party-advisory
- https://github.com/frappe/hrms/blob/0a54d2c7b8b6043e2705b6f557b6ed65260670dd/hrms/hr/doctype/leave_ledger_entry/leave_ledger_entry.py#L199-L228 technical-description
- https://github.com/frappe/hrms/commit/6ab7a50347367413b78ad5bd5d9e4b8c6653c81f patch
- hrms v16.11.0 Release Notes release-notes
- https://github.com/frappe/hrms product
- VulnCheck Advisory: Frappe HR (hrms) before 16.11.0 Missing Authorization via expire_allocation third-party-advisory