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.
Published: 2026-09-25
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Upgrade
AI Analysis

Impact

Horilla HR allows authenticated users to request column exports through a POST parameter that is directly interpolated into a dynamic Python function definition and executed with exec(). By crafting a string that passes a safe literal evaluation but contains additional Python syntax, an attacker can inject arbitrary code into the function’s default argument, enabling execution of arbitrary operating‑system commands with the privileges of the web service process. The flaw is especially dangerous in the packaged Docker image, where the application runs as root, making a successful exploit equivalent to a full system compromise.

Affected Systems

Vendors: Horilla HR. Any deployment using version 1.x or older is affected. The security advisory specifies that the issue is fixed in release 2.0.0, so all versions prior to 2.0.0 should be considered vulnerable.

Risk and Exploitability

The CVSS score of 8.8 classifies the vulnerability as high severity. EPSS information is not available, and the vulnerability is not listed in the CISA KEV catalog; however, the high impact and existence of authenticated vectors make it a serious risk. Attackers with legitimate user credentials can trigger the export function to inject arbitrary Python code, leading to command execution on the host, including root-level execution within the provided Docker image. An exploit requires only normal authenticated access and does not need additional network or privilege escalation steps.

Generated by OpenCVE AI on September 25, 2026 at 23:45 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Horilla HR 2.0.0 release or later to remove the exec vulnerability.
  • If an immediate upgrade is not feasible, disable the List‑View export feature or restrict it to trusted administrative users only, and isolate the application from privileged access in Docker containers.
  • Continuously monitor the application logs for abnormal process creation or exec calls, and enforce least‑privilege policies for the container runtime to limit potential damage if an injection succeeds.

Generated by OpenCVE AI on September 25, 2026 at 23:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 22:30:00 +0000

Type Values Removed Values Added
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.
Title Horilla: Authenticated RCE in Horilla List-View Export
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-25T22:17:04.855Z

Reserved: 2026-09-23T16:25:20.416Z

Link: CVE-2026-96795

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T23:16:55.020

Modified: 2026-09-25T23:16:55.020

Link: CVE-2026-96795

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T00:00:07Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')