Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Jorani user
-
ExploitRequest hr/exportEmployees or hr/exportLeaves/{id}
-
ExecutionMissing authorization check bypassed
-
ImpactExfiltrate employee PII and leave/overtime records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated Jorani session of any privilege level (PR:L) - the attacker must already have working login credentials to the application. Given such an account, the attacker simply issues GET requests to the unprotected endpoints hr/exportEmployees, hr/exportLeaves/{id}, or hr/exportOvertime/{id}; no HR/admin role, no special configuration, and no user interaction are needed because these actions lacked the |
| Impact | This is a genuine but moderate-severity information-disclosure issue, not a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the vendor-assigned 5.3 score agree: the flaw is network-reachable with low complexity but requires an authenticated session (PR:L), and the only impact is confidentiality at a low level (VC:L, with VI:N/VA:N) - no data modification or service disruption. The CWE-862 (Missing Authorization) classification and the fix commit, which simply adds |
| Exploit ScenarioDerived | A low-privileged but authenticated Jorani user (e.g., an ordinary employee) who should only see their own records sends a direct request to hr/exportEmployees or hr/exportLeaves/{id}, and because the export actions lack an authorization check, the application returns full HR exports - employee names, emails, contracts, managers, and any user's leave/overtime history. No public exploit code is identified at time of analysis, but exploitation is trivial via a browser or curl once a valid login exists. The low attack complexity (AC:L) and lack of required user interaction (UI:N) make this reliable against any affected instance. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Jorani leave-management systems before version 1.0.4 allow any authenticated user-regardless of HR or administrative role-to export sensitive employee data through the unprotected HR controller actions hr/exportEmployees, hr/exportLeaves/{id}, and hr/exportOvertime/{id}. Because those actions lacked the list_employees authorization check, a low-privileged account holder can directly request the endpoints and download employee names, emails, contracts, managers, and other employees' leave and overtime records. This is a genuine but moderate-severity information-disclosure issue (CWE-862, CVSS:4.0 5.3; assessed CVSS:3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) with read-only impact; no public exploit code was identified at time of analysis and there is no confirmed active exploitation.
RemediationAI
Upgrade to Jorani 1.0.4 or later, which adds the missing $this->auth->checkIfOperationIsAllowed('list_employees') checks to the HR export actions (release: https://github.com/jorani/jorani/releases/tag/v1.0.4; patch commit: https://github.com/jorani/jorani/commit/dee51fc3c6cb08b45fb2d03f3d44507bc07830e9). If upgrading immediately is not possible, apply the upstream commit to legacy/application/controllers/Hr.php manually, or restrict access to the /hr/exportEmployees, /hr/exportLeaves/{id}, and /hr/exportOvertime/{id} routes at the reverse-proxy or web-server layer so only trusted HR networks/roles can reach them-recognizing that this will break legitimate HR export functionality for authorized users. Because exploitation requires a valid low-privileged account, auditing existing user accounts and removing or deactivating unnecessary ones reduces exposure. Vendor and third-party details are available at https://github.com/jorani/jorani/issues/426 and https://www.vulncheck.com/advisories/jorani-before-1.0.4-missing-authorization-in-hr-export-actions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Jorani is a PHP leave-management application built on CodeIgniter. The affected code resides in the HR controller (legacy/application/controllers/Hr.php), where the exportEmployees, exportLeaves, exportOvertime, and presence actions generated HR data exports without invoking the framework's authorization helper. The fix commit dee51fc3c6cb08b45fb2d03f3d44507bc07830e9 inserts $this->auth->checkIfOperationIsAllowed('list_employees') before each of these actions, enforcing the same permission required elsewhere in the application. The root cause is CWE-862 Missing Authorization: authentication was required, but the fine-grained list_employees operation check was omitted, so any valid session-not just HR staff-could reach the export logic. Although tagged as an authentication bypass, the flaw is better characterized as broken access control/missing authorization, since a valid session is still required. Source: https://github.com/jorani/jorani/blob/v1.0.2/application/controllers/Hr.php#L459-L500 and issue https://github.com/jorani/jorani/issues/426.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable export endpoints with low complexity but needing a valid low-privilege login (PR:L); only HR data is read, so C:L and I:N/A:N.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
Jorani before 1.0.4 contains a missing authorization vulnerability in the Hr controller's exportLeaves, exportOvertime and exportEmployees actions, allowing any authenticated user to export HR data. Attackers can request hr/exportEmployees or hr/exportLeaves/{id} and hr/exportOvertime/{id} to download employee names, emails, contracts, managers, and any employee's leave and overtime records.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-98932
GHSA-cf27-x93f-gg54
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB