Skip to main content

Frappe Framework EUVDEUVD-2026-36452

| CVE-2026-47739 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-12 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege Frappe user
  2. Delivery
    Navigate to Note creation in target instance
  3. Exploit
    Inject JavaScript payload into Note body field
  4. Execution
    Victim opens Note in authenticated browser session
  5. Persist
    Malicious script executes in victim browser context
  6. Impact
    Exfiltrate 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

frappe < 15.106.0
frappe < 16.16.0

Affected Packages

euvd frappe fix: 15.106.0, 16.16.0

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

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Jun 12, 2026 - 16:01 EUVD

DescriptionCVE.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

EPSS Score
0.0%
Top 93% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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