Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as role-limited ERPNext user
-
ExploitRequest Sales Person-wise Transaction Summary report
-
ExecutionQuery omits permission match conditions
-
ImpactRead financial data beyond authorized role
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 ERPNext account with a restricted ('role-limited') role that has permission to run the Sales Person-wise Transaction Summary report under the Selling module; exploitation is simply invoking that report, whose server-side query failed to append the requesting user's document-permission match conditions before reading Sales Order/invoice, Sales Team, and item financial rows. Limiting factors: only instances running versions prior to 15.118.0 (v15 branch) or 16.27.0 (v16 branch) are affected; the attacker must already be authenticated (no anonymous/unauthenticated path), and impact is limited to reading financial data - there is no write, modification, or denial-of-service capability. |
| Impact | This is a medium-severity broken-access-control flaw (CWE-862, Missing Authorization) with a self-consistent set of signals. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N = 6.5) matches the description precisely: network-reachable, low-complexity, requires an authenticated but low-privileged ('role-limited') account, no user interaction, and yields high confidentiality impact with no integrity or availability effect - consistent with an information-disclosure bug that leaks financial rows the user should not see. No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided in the input; the GitHub links are the vendor security advisory (GHSA-rgrq-243c-c4g6), the two remediation commits, and the fixed-version release tags - i.e., patch intelligence, NOT exploit code. Exploitation status is therefore 'no public exploit identified at time of analysis.' The realistic risk is moderate and context-dependent rather than an emergency: exploitation requires a valid authenticated ERPNext account that already has some access to the Sales Person-wise Transaction Summary report, which bounds the attacker population to insiders and compromised accounts, and the impact is confined to unauthorized reading of financial transaction data (no write or destructive capability). The one metadata inconsistency to note: the input tags this as 'Authentication Bypass,' but the description and CWE-862 make clear this is an authorization (permission-enforcement) failure for an already-authenticated user, not an authentication bypass - the distinction materially changes who can exploit it. |
| Exploit ScenarioDerived | A legitimate ERPNext user with a restricted role (e.g., a single-territory sales person who should only see their own figures) opens the Sales Person-wise Transaction Summary report, and because the report query omits the user's document-permission match conditions, the server returns financial transaction rows for customers, territories, and sales people outside their authorized scope. No special payload or user interaction is needed beyond requesting the report. No public exploit code was identified in the provided intelligence; the only published code is the vendor's remediation commits. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
ERPNext instances prior to 15.118.0 (v15 branch) and 16.27.0 (v16 branch) expose financial data through the Sales Person-wise Transaction Summary report because the report's server-side query omits the requesting user's document-permission match conditions. An authenticated attacker holding only a limited role that can run this report can read Sales Order/Sales Invoice, Sales Team, and item-level financial rows for records the role should never see, resulting in a high-confidentiality, read-only disclosure (CVSS 6.5, AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N; CWE-862 Missing Authorization). No public exploit code has been identified at time of analysis, and the flaw is not listed in CISA KEV, so risk is driven by the low exploitation complexity for any logged-in low-privilege user rather than by observed attacks.
RemediationAI
Upgrade to the vendor-released patch versions: ERPNext 15.118.0 on the v15 branch or 16.27.0 on the v16 branch (release links and advisory at https://github.com/frappe/erpnext/security/advisories/GHSA-rgrq-243c-c4g6, https://github.com/frappe/erpnext/releases/tag/v15.118.0, https://github.com/frappe/erpnext/releases/tag/v16.27.0); the fix commits 202f52271ca2f689c2836fc27ca30c9cd507958e and 24f0989ac1f6d3054643d6377e8c126ee8ca0cf7 can be cherry-picked onto custom builds. If upgrading immediately is not possible, apply compensating controls with explicit trade-offs: in Role Permission Manager remove or restrict the Sales Person-wise Transaction Summary report from any low-privilege, role-limited role (this eliminates the disclosure path but also removes the report for legitimate users in that role); tighten document-level read permissions on Sales Order, Sales Invoice, and Sales Team so users only see their own/allowed records between the report layer and the database (this reduces exposure from any similar missed-authorization report but may break legitimate cross-team reporting); and monitor ERPNext access and error logs for repeated invocations of that report endpoint by accounts that would not normally run financial reports, since exploitation is a single authenticated request with no write side effects and would otherwise go unnoticed. Note there is no patch-free configuration that fully restores per-user row filtering inside this report, so upgrading remains the definitive fix.
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
ERPNext is a Frappe-framework-based open source ERP whose reports are Python server scripts that query MariaDB/MySQL through frappe.db.sql or the frappe query builder. The underlying issue is CWE-862 (Missing Authorization): the pre-fix implementation of erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py built its WHERE clause only from user-supplied report filters (doc_type, sales_person, item_group/brand, date ranges) and never appended the caller's document-level permission filters. Frappe normally derives these filters via build_match_conditions()/frappe.get_query() so that role and user permissions (permission_query_conditions and role permission entries) are enforced at the SQL layer; because the raw SQL path bypassed that machinery, the report returned rows for documents the requesting user was not permitted to read. The fix replaces the hand-written SQL with frappe.get_query(dt, filters=doc_filters) and explicitly appends build_match_conditions(doc_type) via a LiteralValue criterion, restoring per-user row-level authorization on the Sales Order/Sales Invoice query while preserving the Sales Team join and the Closed-status quantity/amount CASE logic. CPE data (cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*) confirms the affected component is ERPNext itself across both maintained version lines.
Know when Erpnext 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Network-accessible report endpoint (AV:N) exploitable by an authenticated low-privileged role (PR:L) with no interaction, leaking out-of-scope financial data (C:H) with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.118.0 and 16.27.0, certain endpoints in the Sales Person-wise Transaction Summary report fail to enforce proper authorization checks. When a role-limited authenticated user requests the affected financial report, the query can query financial transaction rows without applying the requesting user's document permission match conditions. This allows the user to read financial data beyond the user's permitted role. This issue is fixed in versions 15.118.0 and 16.27.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
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 attackers with permission to create or modify Print Format documents in Frappe ERPNext through 15.89.0 can
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 allows users with privileges to configure
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Frappe Framework ERPNext 13.4.0 contains a sandbox escape vulnerability in RestrictedPython that allows authenticated us
EUVD-2026-103171
NVD
CVE.org
GitHub
Exploit-DB