CVE-2026-96795: CWE-94: Improper Control of Generation of Code ('Code Injection') in horilla horilla-hr
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.
AI Analysis
Technical Summary
Horilla-hr before version 2.0.0 contains a code injection vulnerability (CWE-94) in the horilla_views/generic/cbv/views.py file. The export_data function accepts a POST parameter 'columns' from authenticated users, extracts a field from it, and interpolates it into a dynamically constructed Python function string. This string is then executed using exec(). Because the crafted input can remain valid under ast.literal_eval but still inject Python syntax into a default argument evaluated during function definition, an attacker can execute arbitrary OS commands with the application's privileges. The vulnerability is resolved in version 2.0.0.
Potential Impact
Successful exploitation allows an authenticated user to execute arbitrary operating system commands with the privileges of the application process, which by default includes root privileges in the shipped Docker image. This can lead to full system compromise, data loss, or unauthorized control over the host environment.
Mitigation Recommendations
Upgrade horilla-hr to version 2.0.0 or later, where this vulnerability is fixed. No other mitigation steps are specified or required as the fix addresses the root cause.
CVE-2026-96795: CWE-94: Improper Control of Generation of Code ('Code Injection') in horilla horilla-hr
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.
CVSS v3.1
Score 8.8high
Affected software
horilla
horilla-hr
pkg:github/horilla/horilla-hrRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Horilla-hr before version 2.0.0 contains a code injection vulnerability (CWE-94) in the horilla_views/generic/cbv/views.py file. The export_data function accepts a POST parameter 'columns' from authenticated users, extracts a field from it, and interpolates it into a dynamically constructed Python function string. This string is then executed using exec(). Because the crafted input can remain valid under ast.literal_eval but still inject Python syntax into a default argument evaluated during function definition, an attacker can execute arbitrary OS commands with the application's privileges. The vulnerability is resolved in version 2.0.0.
Potential Impact
Successful exploitation allows an authenticated user to execute arbitrary operating system commands with the privileges of the application process, which by default includes root privileges in the shipped Docker image. This can lead to full system compromise, data loss, or unauthorized control over the host environment.
Mitigation Recommendations
Upgrade horilla-hr to version 2.0.0 or later, where this vulnerability is fixed. No other mitigation steps are specified or required as the fix addresses the root cause.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-23T16:25:20.416Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6ab6f6acf7a7c541065ec4dd
Added to database: 09/25/2026, 22:33:16 UTC
Last enriched: 09/25/2026, 22:47:49 UTC
Last updated: 09/26/2026, 02:48:53 UTC
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.