CVE-2026-96795 Horilla: Authenticated RCE in Horilla List-View Export
Authenticated attackers can execute arbitrary code via crafted input in the list-view export feature, potentially gaining root privileges.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-96795?
CVE-2026-96795 is a high-severity code injection vulnerability in horilla-hr, published on 25 Sep 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Horilla is an HR and CRM software. Prior to 2.0.0, HorillaListView.export_data in horilla_views/generic/cbv/views.py accepts an authenticated user's columns POST parameter, takes field_tuple[1], interpolates it into dynamic_fn_str as Python source, and passes the generated function definition to exec(). A crafted string that remains valid under ast.literal_eval can inject Python syntax into a default argument evaluated during function definition, allowing arbitrary operating-system commands to execute with the application process privileges, including root privileges in the shipped Docker image. This issue is fixed in version 2.0.0.
Weakness: CWE-94
Which versions are affected by CVE-2026-96795?
How do I fix CVE-2026-96795?
No fix has been published for CVE-2026-96795 yet. Limit exposure of the affected software until one is available.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-96795 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-96795 exists.
Sources
Also known as GHSA-5g4v-4rv4-r26f.