Skip to main content

Frappe Framework EUVDEUVD-2026-36454

| CVE-2026-44205 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
    Register or authenticate to Frappe instance
  2. Delivery
    Upload crafted XSS payload as profile image
  3. Exploit
    Payload persists in server-side storage
  4. Execution
    Victim user visits attacker's profile page
  5. Persist
    Malicious script executes in victim's browser
  6. Impact
    Exfiltrate session token or perform 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

The attacker must have the ability to set or update a profile image in the Frappe instance - in most deployments this requires an authenticated user account, making PR:L the realistic privilege level despite the PR:N in the provided CVSS 4.0 vector. A victim user must subsequently navigate to and render the attacker's profile page, providing the trigger for script execution. Exploitation is limited to Frappe instances running versions prior to 15.106.0. If the Frappe deployment restricts public self-registration, the pool of potential attackers is limited to existing credentialed users. No specific non-default configuration is required beyond a standard Frappe installation with user profiles accessible to other users.

Impact

The CVSS 4.0 score of 6.9 with vector 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 warrants scrutiny: the PR:N (no privileges required) and UI:N metrics are inconsistent with the described attack scenario, which involves an attacker uploading a malicious profile image - an action that typically requires an authenticated session in Frappe. Additionally, stored XSS inherently requires a victim to navigate to the affected page (implying at least passive user interaction, UI:P in CVSS 4.0 terms). These metric choices should be verified against the vendor advisory at GHSA-2wx6-8gmq-x4fw. EPSS at 0.02% confirms no significant observed exploitation, and the absence of a KEV listing or public POC further tempers urgency. Despite a relatively high numerical score, the real-world risk depends heavily on whether unauthenticated account creation is permitted in a given Frappe deployment - if registration is restricted, the attack surface is narrowed to existing users.

Exploit ScenarioDerived

An attacker with a Frappe account crafts a profile image upload containing an embedded JavaScript payload that evades server-side sanitization. When a legitimate user - such as an administrator or coworker - navigates to the attacker's profile page, the malicious script executes silently in their browser, potentially exfiltrating session cookies or CSRF tokens to an attacker-controlled server. No public proof-of-concept exists at time of analysis, but the attack mechanics are well-understood for stored XSS.

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 Frappe's user profile image section enables script injection that executes in the browsers of any user who views the compromised profile. Affected versions are all Frappe releases prior to 15.106.0. No public exploit code or CISA KEV listing exists at time of analysis; EPSS of 0.02% (7th percentile) reflects low observed exploitation activity, though stored XSS in a shared framework carries inherent persistence risk across all applications built on Frappe.

RemediationAI

Upgrade Frappe to version 15.106.0 or later, which contains the vendor-confirmed patch per the GitHub advisory at https://github.com/frappe/frappe/security/advisories/GHSA-2wx6-8gmq-x4fw. If immediate upgrade is not feasible, consider restricting user self-registration to limit who can create accounts and submit profile images, reducing the attack surface at the cost of requiring manual user provisioning. Additionally, deploying a Content Security Policy (CSP) header that restricts script execution to trusted origins can prevent injected scripts from exfiltrating data or performing unauthorized actions, even if the XSS payload reaches the DOM. Note that CSP is a defense-in-depth measure and does not eliminate the underlying stored XSS vulnerability.

Affected VersionsENISA

frappe < 15.106.0

Affected Packages

euvd frappe fix: 15.106.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

Frappe is a Python/JavaScript full-stack web application framework used to build business applications such as ERPNext. The vulnerability stems from CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically in the user profile image handling path. Frappe fails to adequately sanitize or encode attacker-controlled content submitted to the profile image section before persisting and later rendering it to other users, allowing HTML/JavaScript injection that is stored server-side and served to every visitor of the affected profile. The CPE cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* confirms all Frappe versions prior to 15.106.0 are in scope regardless of platform or deployment mode.

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

Profile image upload requires authentication (PR:L); stored XSS triggers only when a victim visits the profile (UI:R); script execution in victim's browser constitutes a scope change (S:C) with low confidentiality and integrity impact.

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:L/VI:L/VA:N/SC:N/SI:N/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 version 15.106.0, a stored XSS vulnerability in the user profile image section allows an attacker to execute malicious scripts in the browsers of other users. This issue has been patched in version 15.106.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Data Quality
6 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
No
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