What’s Vulnerable › Vulnerabilities
CVE-2026-86066: Horilla attendance approval endpoint is vulnerable to cross-site request forgery
- Severity: medium (CVSS 5.9 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-09-25 · updated 2026-09-30
- Weakness: CWE-352
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
- horilla-hr: before 2.0.0
References
- https://github.com/horilla/horilla-hr/commit/87a23ecaf2944c15dc5c131f813d2b83fd56eaa0
- https://github.com/horilla/horilla-hr/releases/tag/2.0.0
- https://github.com/horilla/horilla-hr/security/advisories/GHSA-65vj-5p5g-pv5m
- https://github.com/horilla/horilla-hr/security/advisories/GHSA-65vj-5p5g-pv5m
Get alerted when CVE-2026-86066 or the next vulnerability affects your stack