CVE-2026-96795 Horilla: Authenticated RCE in Horilla List-View Export

High 8.8 Published Updated

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.

Is CVE-2026-96795 in your software?

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

Check your SBOMs for free