Vulnerability · Published Sep 25, 2026 · Assigned by GitHub_M
CVE-2026-86066Horilla attendance approval endpoint is vulnerable to cross-site request forgery
Medium 5.9
In plain English
A medium-severity cross-site request forgery in horilla-hr from horilla. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 16% of all known vulnerabilities).
Official description
Horilla is an HR and CRM software. Prior to 2.0.0, approve_validate_attendance_request at /attendance/approve-validate-attendance-request/ changes attendance_validated, is_validate_request_approved, approved_by, and related pending-request state through an HTTP GET before calling attendance.save(), so Django does not require CSRF validation for the action. An unauthenticated attacker can cause a logged-in manager with attendance.change_attendance to make a top-level request that carries the manager's SameSite=Lax session cookie, silently approving attendance with the victim's privileges and attributing the approval to the victim in the audit trail. This issue is fixed in version 2.0.0.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| horilla | horilla-hr | < 2.0.0 |
Weakness: CWE-352 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N