CVE-2026-86066 Horilla attendance approval endpoint is vulnerable to cross-site request forgery
An unauthenticated attacker can trick a logged-in manager into approving attendance requests via a GET request, modifying data and bypassing authorization checks.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- None listed
What is CVE-2026-86066?
CVE-2026-86066 is a medium-severity vulnerability in horilla-hr, published on 25 Sep 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
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.
Weakness: CWE-352
Which versions are affected by CVE-2026-86066?
How do I fix CVE-2026-86066?
No fix has been published for CVE-2026-86066 yet. Limit exposure of the affected software until one is available.
Is CVE-2026-86066 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-86066 exists.
Sources
Also known as GHSA-65vj-5p5g-pv5m.