Skip to main content

Frappe HR EUVDEUVD-2026-88097

| CVE-2026-101006 LOW
Incorrect Authorization (CWE-863)
2026-09-28 VulDB GHSA-44r9-7c38-8jw8
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege HR user
  2. Delivery
    Call get_expense_claims/get_shift_requests/get_attendance_requests API
  3. Exploit
    Substitute victim's employee identifier in `employee` argument
  4. Execution
    Server skips authorization check
  5. Impact
    Read other employees' HR records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 Frappe HR session at low privilege (PR:L) - any ordinary employee/user account with API access suffices; no admin rights or user interaction needed. The attacker invokes the get_expense_claims, get_shift_requests, or get_attendance_requests API endpoints and supplies a victim's employee identifier in the employee argument, which the Permission Validation logic fails to authorize. Limiting factors: the attacker must already hold credentials on the target instance, impact is read-only disclosure of HR data (expense claims, shift requests, attendance) with no write/privilege gain, and the target must run Frappe HR at or below version 16.15.0.

Impact

This is a genuine but low-severity issue, correctly rated MEDIUM. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N/VC:L, all other impacts N) describes a remotely reachable, low-complexity authorization flaw exploitable by any authenticated low-privilege user, with only limited confidentiality impact and no integrity or availability impact - consistent with the CWE-863 (incorrect authorization / IDOR) classification. No EPSS score is provided and the CVE is not in CISA KEV, so there is no evidence of widespread or active exploitation; the E:P in the vector indicates proof-of-concept maturity rather than confirmed in-the-wild use. The signals are mutually consistent: a real, easily-triggered data-exposure bug but low blast radius (read-only leakage of HR records, no privilege gain or takeover). Note two data caveats: the vendor states the issue was reported by a third party and already fixed, but NO fixed version is supplied in the input, so remediation cannot be pinned to a release; and the 'Authentication Bypass' tag is inaccurate - this is an authorization (access-control) flaw, not an authentication bypass, since the attacker is already authenticated.

Exploit ScenarioDerived

An authenticated low-privileged Frappe HR user (e.g. an ordinary employee) calls the get_expense_claims, get_shift_requests, or get_attendance_requests API and substitutes another worker's identifier in the employee argument. Because the endpoint fails to verify the caller is authorized for that employee, it returns the targeted employee's expense claims, shift requests, or attendance records. Exploitation is straightforward given proof-of-concept maturity (E:P) and requires only a valid low-privilege session.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 28, 2026

Authenticated attackers can read other employees' expense claims, shift requests, and attendance records in Frappe HR up to 16.15.0 by exploiting an incorrect authorization flaw in the get_expense_claims, get_shift_requests, and get_attendance_requests API endpoints. The vulnerability requires a valid low-privilege session but no special permissions, and the vendor has confirmed the issue is fixed. No public exploit identified at time of analysis; the impact is limited to information disclosure (CVSS 5.3, MEDIUM).

RemediationAI

The vendor has stated that the issue is fixed, though no specific patched version number is provided in the available data; administrators should upgrade Frappe HR to the latest available version beyond 16.15.0. If immediate upgrade is not possible, restrict network access to the affected API endpoints (get_expense_claims, get_shift_requests, get_attendance_requests) to trusted users only, or implement custom permission checks in hrms/api/__init__.py to validate that the requesting user owns or is authorized to view the target employee's data. Note that these compensating controls may break legitimate HR workflows for managers and HR staff who require cross-employee visibility. Monitor application logs for anomalous access patterns to these endpoints. Refer to VulDB entries for the latest information: https://vuldb.com/vuln/410876 and https://vuldb.com/cve/CVE-2026-101006.

Affected VersionsENISA

HR 16.10
HR 16.6
HR 16.8
HR 16.14
HR 16.4
HR 16.1
HR 16.12
HR 16.9
HR 16.7
HR 16.11
HR 16.5
HR 16.15.0
HR 16.0
HR 16.3
HR 16.13
HR 16.2

Affected Packages

euvd hr no fix

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

The vulnerability resides in the Permission Validation component of Frappe HR, specifically in the hrms/api/__init__.py file where the functions get_expense_claims, get_shift_requests, and get_attendance_requests fail to verify that the requesting user is authorized to access the specified employee's data. Classified as CWE-863 (Incorrect Authorization), the flaw allows an authenticated user to manipulate the 'employee' argument to retrieve records belonging to other employees. The affected product is identified by CPE cpe:2.3:a:frappe:hr:*:*:*:*:*:*:*:* (wildcard, indicating all versions), with the description explicitly stating up to 16.15.0. The root cause is missing or inadequate permission checks before processing the API request, enabling horizontal privilege escalation across employee records.

Know when Frappe gets its next vulnerability

  • 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 (VulDB) PRIMARY 2.1 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/E:P
vuln.today AI 4.3 MEDIUM

Remotely reachable API needing a low-privilege authenticated account (PR:L), no user interaction; read-only HR data leakage gives C:L with no integrity or availability impact.

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 (VulDB).

CVSS VectorVendor: VulDB

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

2
Severity Changed
Sep 28, 2026 - 07:22 NVD
MEDIUM LOW
CVSS changed
Sep 28, 2026 - 07:22 NVD
5.3 (MEDIUM) 2.1 (LOW)

DescriptionCVE.org

A flaw has been found in Frappe HR up to 16.15.0. This vulnerability affects the function get_expense_claims/get_shift_requests/get_attendance_requests of the file hrms/api/__init__.py of the component Permission Validation. This manipulation of the argument employee causes incorrect authorization. Remote exploitation of the attack is possible. The vendor replied: "This issue has already been reported by another individual, and based on that, we have fixed it."

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
Open-source HR module in the Frappe/ERPNext ecosystem, modest SMB footprint
Data Quality
5 sources
Confidence: Medium

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 LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

More in Frappe

View all
CVE-2025-67289 CRITICAL POC
9.6 Dec 22

Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on

CVE-2018-3885 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3884 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3883 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3882 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2025-66440 HIGH POC
8.8 Dec 15

Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c

CVE-2025-66439 HIGH POC
8.8 Dec 15

SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa

CVE-2025-66437 HIGH POC
8.8 Dec 15

Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A

CVE-2020-6145 HIGH POC
8.8 Aug 10

An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev

CVE-2026-39352 HIGH POC
8.7 May 20

Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie

CVE-2025-10655 HIGH POC
8.6 Dec 09

SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL

CVE-2025-52042 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re

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