CVE-2026-86066 Horilla attendance approval endpoint is vulnerable to cross-site request forgery

Medium 5.9 Published Updated

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.

Is CVE-2026-86066 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free