Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege Frappe user
-
DeliveryNavigate to Note creation in target instance
-
ExploitInject JavaScript payload into Note body field
-
ExecutionVictim opens Note in authenticated browser session
-
PersistMalicious script executes in victim browser context
-
ImpactExfiltrate session tokens or perform unauthorized API actions as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to hold a valid Frappe user account with sufficient permissions to create or edit Notes in the target instance - typically any standard low-privilege role. The victim must subsequently navigate to and open the malicious Note in their browser session, providing the user-interaction trigger. Deployments where the Note feature is disabled or restricted exclusively to administrator roles have a substantially reduced attack surface. The reported CVSS 4.0 vector attributes PR:N and UI:N, which conflicts with these stored-XSS mechanics; defenders should treat PR:L and UI:P as the more accurate exploitation prerequisites pending vendor clarification. Frappe instances not accessible over the network or restricted to VPN-only access significantly limit reachability despite the AV:N classification. |
| Impact | The reported CVSS 4.0 score of 6.9 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N warrants scrutiny: a PR:N and UI:N rating is inconsistent with the stored XSS vulnerability class, which inherently requires at minimum victim browser interaction (UI:P in CVSS 4.0) and typically low privilege to author a Note (PR:L). This discrepancy likely inflates the automated score and reduces its reliability as a prioritization signal. EPSS at 0.02% (7th percentile) reflects very low observed exploitation probability, consistent with the absence of any CISA KEV listing or public proof-of-concept. Real-world risk is moderate in multi-tenant or shared Frappe deployments where a low-privileged user can create Notes visible to administrators or HR staff - session hijacking and privilege escalation via stolen tokens are the primary concern. The CVSS vector anomaly should be verified against the vendor advisory before using the NVD score for prioritization. |
| Exploit ScenarioDerived | A low-privileged Frappe user - such as a standard employee account in an ERPNext deployment - creates a Note containing a crafted JavaScript payload embedded in an HTML attribute or script tag. When a higher-privileged user such as an HR manager or system administrator opens the note, the payload executes silently in their browser session, enabling cookie exfiltration or unauthorized API calls on their behalf. No public proof-of-concept has been identified, but the stored XSS technique is well-understood and requires no specialized tooling beyond a standard web browser. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Stored cross-site scripting in the Frappe framework's Note feature allows a low-privileged attacker to persist malicious JavaScript that executes in the browsers of users who subsequently view the poisoned note. All Frappe deployments on the v15 branch prior to 15.106.0 and the v16 branch prior to 16.16.0 are affected. No public exploit or CISA KEV listing exists at time of analysis; vendor-confirmed patches are available and should be applied promptly given the ease of exploitation once an attacker holds any valid user account.
RemediationAI
Upgrade to Frappe version 15.106.0 or later on the v15 branch, or version 16.16.0 or later on the v16 branch, as confirmed by the vendor advisory at https://github.com/frappe/frappe/security/advisories/GHSA-vxmp-h244-wv3r. If immediate upgrade is not possible, restrict write access to the Note module to administrator-level roles only via Frappe's role-based permission system - this reduces the attack surface to already-trusted users but does not eliminate risk if an admin account is compromised. Deploying a Content Security Policy header that blocks inline script execution can reduce the impact of a successful injection, though Frappe's default CSP configuration may require tuning to avoid breaking application functionality. Note that neither the permission restriction nor the CSP workaround eliminates the underlying sanitization defect.
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
The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting), specifically the stored variant. The Frappe framework (cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:*) is a Python/JavaScript full-stack web application framework that underpins ERPNext and other business applications. Its Note module failed to sanitize user-supplied content before persisting it to the database and re-rendering it to other users' browsers, allowing arbitrary HTML and JavaScript injection that survives across sessions. Because the payload is stored server-side, every subsequent viewer of the Note is exposed without any further attacker interaction after initial injection.
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:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Stored XSS requires a low-privilege account to author the Note (PR:L) and victim browser interaction to trigger it (UI:R), with scope change affecting the victim's browser session.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Frappe is a full-stack web application framework. Prior to versions 15.106.0 and 16.16.0, stored XSS in Note was possible due to lack of sanitization. This issue has been patched in versions 15.106.0 and 16.16.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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-36452
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB