CVE-2026-24039

4.3 MEDIUM

📋 TL;DR

CVE-2026-24039 is an improper access control vulnerability in Horilla HRMS version 1.4.0 that allows low-privileged employees to self-approve documents they uploaded. This undermines HR process integrity by enabling submission of unvetted documents. All organizations using Horilla HRMS version 1.4.0 are affected.

💻 Affected Systems

Products:
  • Horilla HRMS
Versions: Version 1.4.0 only
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with standard employee roles and document approval functionality enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Employees could approve fraudulent credentials, certifications, or supporting materials, leading to compliance violations, legal liabilities, and compromised HR processes.

🟠

Likely Case

Employees bypass approval workflows for routine documents, undermining document control processes and creating audit trail inconsistencies.

🟢

If Mitigated

With proper role-based access controls, only authorized administrators can approve documents, maintaining HR process integrity.

🌐 Internet-Facing: MEDIUM - While exploitation requires authenticated access, internet-facing instances are accessible to attackers who obtain employee credentials.
🏢 Internal Only: HIGH - Internal employees can exploit this vulnerability without external access, potentially compromising HR document workflows.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated employee access and involves simple API endpoint manipulation to modify approval status.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.5.0

Vendor Advisory: https://github.com/horilla-opensource/horilla/security/advisories/GHSA-99mq-mhwv-w9qx

Restart Required: Yes

Instructions:

1. Backup current installation and database. 2. Download version 1.5.0 from GitHub releases. 3. Replace existing installation files with new version. 4. Run database migrations if required. 5. Restart the application server.

🔧 Temporary Workarounds

Temporary Role Restriction

all

Temporarily restrict document upload permissions to prevent exploitation while patching.

# Modify user role permissions in Horilla admin panel to remove document upload capabilities from standard employee roles

Network Segmentation

linux

Restrict access to document approval endpoints using network controls.

# Example firewall rule to restrict /api/approve/ endpoints to admin IPs only
# iptables -A INPUT -p tcp --dport 8000 -s 192.168.1.0/24 -m string --string "/api/approve/" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement strict role-based access controls and audit all document approval activities
  • Deploy a web application firewall (WAF) with custom rules to block unauthorized approval endpoint access

🔍 How to Verify

Check if Vulnerable:

Check Horilla version in admin panel or via application metadata. If version is exactly 1.4.0, the system is vulnerable.

Check Version:

# Check Horilla version via admin panel or application logs

Verify Fix Applied:

After upgrading to 1.5.0, test with employee credentials that document approval endpoints return proper authorization errors.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized POST/PUT requests to /api/approve/ endpoints from non-admin users
  • Document status changes from 'pending' to 'approved' without admin user activity

Network Indicators:

  • HTTP 200 responses from approval endpoints for non-admin users
  • Unusual approval request patterns from employee IP addresses

SIEM Query:

source="horilla_logs" AND (uri_path="/api/approve/*" AND user_role!="admin") AND response_code=200

🔗 References

📤 Share & Export