Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Admin privileges required to store the payload (PR:H), victim must load the page (UI:R), and stored XSS changes scope to affect other users' sessions (S:C) with limited confidentiality and integrity impact.
Primary rating from Vendor (Fluid Attacks).
CVSS VectorVendor: Fluid Attacks
Lifecycle Timeline
1DescriptionCVE.org
A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the Number Card component.
AnalysisAI
Stored Cross-Site Scripting in Frappe Framework 17.0.0-dev allows a high-privileged authenticated user to inject persistent malicious scripts into the Number Card dashboard component, which then execute in the browsers of other users who view the affected dashboard. The CVSS 4.0 vector (PR:H/UI:A) confirms exploitation requires admin-level access to plant the payload and a victim's browser interaction to trigger it, limiting realistic blast radius despite the network delivery vector. No public exploit code or CISA KEV listing has been identified at time of analysis.
Technical ContextAI
Frappe Framework is an open-source, full-stack Python and JavaScript web application framework that underpins ERPNext and other business applications. The Number Card is a configurable dashboard widget that renders aggregated data. CWE-79 (Improper Neutralization of Input During Web Page Generation) identifies the root cause: user-controlled input accepted during card configuration is stored without adequate sanitization and later rendered as live HTML/JavaScript in other users' browser sessions. The CPE string cpe:2.3:a:frappe:frappe_framework:*:*:*:*:*:*:*:* covers all sub-versions of the framework, though the specific affected release is the 17.0.0-dev development branch. The stored (persistent) variant of XSS is more severe than reflected XSS because the payload survives across sessions without requiring per-victim phishing.
RemediationAI
No vendor-released patch version has been identified in the available data. Organizations should monitor the upstream repository at https://github.com/frappe/frappe for a fix commit or tagged release addressing this component, and review the Fluid Attacks advisory at https://fluidattacks.com/es/advisories/disturbed for any coordinated disclosure timeline. As a compensating control, restrict the ability to create or modify Number Card configurations to the minimum necessary set of trusted administrators, reducing the pool of accounts capable of planting a payload. Additionally, enforcing a strict Content Security Policy (CSP) header that blocks inline script execution can prevent XSS payloads from running even if stored, though this may require testing for compatibility with Frappe's own JavaScript-heavy interface. Avoid running the 17.0.0-dev development branch in production environments until a patched release is available.
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
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
In Frappe ERPNext 15.57.5, the function get_stock_balance_for() at erpnext/stock/doctype/stock_reconciliation/stock_reco
In Frappe ERPNext 15.57.5, the function get_blanket_orders() at erpnext/controllers/queries.py is vulnerable to SQL Inje
In Frappe ERPNext 15.57.5, the function get_material_requests_based_on_supplier() at erpnext/stock/doctype/material_requ
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38807
GHSA-g23q-hh57-9ww7