Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker gains authenticated Frappe access
-
DeliverySubscribes to Document Follow on target document
-
ExploitAdmin revokes attacker's document permissions
-
ExecutionStale subscription persists unchecked
-
PersistScheduled notification job fires
-
ImpactAttacker receives document data via email
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 | Three specific conditions must simultaneously hold: (1) the Document Follow feature must be enabled in the Frappe system configuration - it is not universally active by default across all deployments; (2) the targeting user must have previously held at least read-level access to the specific document and must have subscribed to its Document Follow notifications prior to access revocation; and (3) an administrator must have subsequently revoked or reduced that user's document permissions without the revocation propagating to pre-existing Document Follow subscription records. The vulnerability does not affect documents the user never had access to. Exploitation is bounded to the content of notification email digests - it does not grant interactive system access, API access, or read access beyond what was present in scheduled notifications. The CVSS 4.0 PR:L metric confirms prior authentication is required; unauthenticated attackers cannot exploit this flaw. |
| Impact | The CVSS 4.0 vector AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N yields a score of 2.3, and the metrics are internally consistent with the description. AT:P (attack requirements present) captures the critical limiting condition: exploitation only occurs when a user's access has already been revoked and a stale subscription persists, making this a transient, conditional window rather than a persistent open attack surface. PR:L confirms the attacker must previously have held authenticated access to the targeted document. Confidentiality impact is scoped to VC:L, reflecting exposure of document field data surfaced in email notification bodies, not arbitrary system data or credential material. No CISA KEV listing exists, no public exploit code has been identified, and no EPSS score was provided in the input data. Despite the very low CVSS score, organizations operating in regulated environments - GDPR, HIPAA, SOC 2 - should treat this as an elevated data-governance concern because even limited unauthorized disclosure of business record content can carry compliance consequences. For unregulated deployments the residual risk after standard access review processes is negligible. |
| Exploit ScenarioDerived | An employee who previously held read access to a Frappe document containing sensitive business data subscribes to Document Follow notifications before an administrator revokes their access during an offboarding or role-change event. Frappe's periodic notification scheduler subsequently continues to dispatch email digests containing document field changes to the now-unauthorized user. No exploit tooling or special knowledge is required; the disclosure occurs passively through the normal scheduled notification job. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 07, 2026
Stale permission enforcement in Frappe's Document Follow subsystem allows authenticated users whose document access has been revoked or downgraded to continue receiving document-level data via scheduled email notifications. Affecting all Frappe v15 releases prior to 15.112.0 and v16 releases prior to 16.23.0, the flaw arises because notification generation never re-evaluates whether recipients still hold current read permission on subscribed documents at dispatch time. No public exploit code exists and no active exploitation has been confirmed; the vendor-assigned CVSS 4.0 score of 2.3 accurately reflects the narrow exposure window and the prerequisite that access revocation must have already occurred before the notification job fires.
RemediationAI
Upgrade Frappe to version 16.23.0 on the v16 branch or 15.112.0 on the v15 branch, which contain the permission re-evaluation fix as confirmed by the vendor advisory at https://github.com/frappe/frappe/security/advisories/GHSA-wcm9-vvcc-r8pr and the patch commits at https://github.com/frappe/frappe/commit/0914acb998004b3878eb5cf57b765115305b49a6 and https://github.com/frappe/frappe/commit/b02c1aec2c75eb0819cc6730dd230c2acb0fa60d. As a pre-patch workaround, administrators can disable the Document Follow feature entirely in Frappe System Settings, which eliminates all notification dispatch; the trade-off is loss of all document change tracking notifications for all users. A more targeted workaround is to manually query and purge Document Follow records for users who have had permissions revoked, using the frappe database layer or admin UI - this reduces exposure but requires ongoing manual maintenance after each permission change until the upgrade is applied.
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 an open-source full-stack Python/JavaScript web application framework that underpins ERPNext and a broad ecosystem of business applications. Its Document Follow feature (implemented in frappe/desk/form/document_follow.py) lets users subscribe to change notifications for specific documents. The function get_message_for_user aggregates notification messages for a given delivery frequency - daily, weekly, or monthly digests - but the pre-fix code path iterated over a user's Document Follow subscriptions without invoking frappe.has_permission() against the current state of the referenced document. CWE-863 (Incorrect Authorization) is the precise root cause class: authorization was enforced at subscription time but not re-enforced at notification delivery, a time-of-check/time-of-use authorization gap. The CPE cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* covers all prior sub-versions across both supported release branches. The fix, visible in commits 0914acb and b02c1ae, inserts a frappe.has_permission() call per subscription record and, when permission is absent, deletes the stale Document Follow entry via frappe.db.delete() before skipping the notification - enforcing least privilege at delivery time while also cleaning up orphaned subscriptions.
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:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Requires prior authenticated access plus a post-subscription revocation event (AC:H, PR:L); exposure is limited to document notification email content (C:L); no integrity or availability impact.
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.23.0 and 15.112.0, Document Follow notification generation does not re-evaluate the recipient's current document permissions, allowing users whose access was revoked or reduced to continue receiving document data by email. 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-54573
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB