Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Frappe web instance
-
DeliveryEnable document follow on target document with restricted fields
-
ExploitWait for or trigger a field change on a restricted field
-
ExecutionView document follow timeline
-
ImpactRead confidential field values exposed in version change entries
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 | Exploitation requires an authenticated Frappe user account (PR:L - unauthenticated access is not possible). The vulnerability specifically triggers via the document follow / version timeline feature: the affected user must be following a document that has had field changes recorded, and those fields must have permlevel restrictions configured. If the target deployment does not use Frappe's field-level (permlevel) permission system to restrict fields, there is no exploitable information disclosure. Child table field changes and top-level DocType field changes are both affected prior to the fix. Limiting factors are: valid authenticated session required, the document follow feature must be active and the user must be following the specific document, and the targeted DocType must have permlevel-restricted fields containing sensitive data. |
| Impact | The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N yields a score of 5.3, consistent with a network-accessible, low-complexity, authenticated-only confidentiality exposure with no integrity or availability impact. The PR:L metric correctly reflects the authentication requirement - unauthenticated exploitation is not possible. No EPSS data was provided in source intelligence, so probability of exploitation in the wild cannot be quantified. The vulnerability is not listed in CISA KEV and no public proof-of-concept has been identified. Real-world risk is elevated in Frappe/ERPNext deployments that actively use field-level permissions to protect sensitive data - for example, salary fields in HRMS, cost fields in manufacturing, or private notes in CRM - since the bypass defeats a core access-control feature. In deployments that do not configure permlevel restrictions, there is effectively no exposure. The risk is therefore highly context-dependent: high-sensitivity deployments that rely on permlevel controls should treat this as a priority; others face minimal impact. |
| Exploit ScenarioDerived | An authenticated Frappe user with read access to a Sales Order (or any DocType with permlevel-restricted fields such as cost price or internal margin) enables document follow for that record. When any user updates a restricted field, the change appears in the document follow timeline for all followers, regardless of their permlevel permissions. No exploit code has been identified; the attack requires only standard application navigation by a legitimately authenticated user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 07, 2026
Field-level permissions bypass in Frappe framework allows authenticated users to read restricted DocType field values via the document follow timeline feature. Frappe deployments on the v16 branch prior to 16.23.0 and the v15 branch prior to 15.112.0 are affected, including ERPNext and other applications built on Frappe. An authenticated low-privileged user can access historical change values for fields protected by Frappe's permlevel system simply by viewing the document follow timeline - no public exploit has been identified and the vulnerability is not listed in CISA KEV.
RemediationAI
Upgrade Frappe to version 16.23.0 on the v16 branch or 15.112.0 on the v15 branch; these are the fix versions confirmed by the vendor advisory at https://github.com/frappe/frappe/security/advisories/GHSA-7vpf-q96h-59x4 and patch commits 45dfd1432eb65581f90b8b0589e456e77a574fe4 and d6a214db952cf7010020889bbc00073cce88a0c9. If immediate upgrade is not feasible, a compensating control is to disable the document follow feature at the application level or restrict user access to the document timeline/version endpoints for DocTypes containing permlevel-protected fields - note this trade-off reduces audit trail visibility for those users. Administrators should also audit which roles have read access to sensitive DocTypes and verify that permlevel settings are enforced through normal document read paths, which are unaffected by this vulnerability.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Frappe is a Python/JavaScript full-stack web framework (CPE: cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:*) that serves as the foundation for ERPNext, HRMS, and dozens of other enterprise applications. Its DocType system supports field-level access control via 'permlevel' settings, which allow administrators to restrict read visibility of specific fields to certain roles. The root cause (CWE-863: Incorrect Authorization) is in frappe/desk/form/document_follow.py - the functions get_field_changed, get_row_changed, and get_added_row, which generate document version timeline entries, were not receiving the requesting user's identity and therefore omitted permission checks entirely when populating change records. The fix, applied in commits 45dfd1432e and d6a214db95, threads the user parameter through all three functions and gates each field change entry through frappe.get_meta(doctype).get_permitted_fieldnames(permission_type='read', user=user). A new helper _can_read_child_table_field enforces the same check recursively for child table field changes, verifying both the parent table field and the child DocType field against the user's permitted fieldnames.
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
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-accessible via web UI, requires authenticated session (PR:L), only confidentiality of restricted field values is impacted with no integrity or availability effects.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Frappe is a full-stack web application framework. Prior to 16.20.0 and 15.112.0, a field-level permissions bypass exposes restricted DocType fields. This issue is fixed in versions 16.23.0 and 15.112.0.
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.
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c
SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re
EUVD-2026-54500
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB