Skip to main content

Jorani EUVDEUVD-2026-98932

| CVE-2026-110099 MEDIUM
Missing Authorization (CWE-862)
2026-10-13 disclosure@vulncheck.com GHSA-cf27-x93f-gg54
5.3
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege Jorani user
  2. Exploit
    Request hr/exportEmployees or hr/exportLeaves/{id}
  3. Execution
    Missing authorization check bypassed
  4. Impact
    Exfiltrate 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 list_employees authorization check before v1.0.4. Limiting factors: exploitation is impossible for fully unauthenticated attackers, is confined to Jorani instances running versions before 1.0.4, and yields only read access to HR data (no write or availability impact).

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 $this->auth->checkIfOperationIsAllowed('list_employees') to the export actions, confirm the technical nature: ordinary low-privilege users can reach HR-only export endpoints. There is NO EPSS score provided, the CVE is NOT in CISA KEV, and no public exploit code is referenced, so there is no evidence of active exploitation or automation - this reads as a priority driven by data-sensitivity (employee PII/leave records) rather than by imminent mass exploitation. One labeling conflict to note: the input Tag says 'Authentication Bypass,' but the CWE-862 classification and the 'any authenticated user' wording make this an authorization (privilege) bypass, NOT an authentication bypass - verify the tag against the vendor advisory.

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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Jorani 0 <1.0.4

Affected Packages

euvd jorani fix: 1.0.4

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

Vendor (vulncheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 18:19 EUVD

DescriptionCVE.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

EPSS Score
0.3%
Top 85% exploitable
Prevalence
Low
niche open-source PHP leave/HR management app, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy