Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with edit rights
-
DeliverySet record name with script payload
-
ExploitStore unescaped malicious record
-
ExecutionColleague opens affected page
-
ImpactScript executes in victim browser session
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 be an authenticated ERPNext user holding edit (write) rights on a document type, allowing them to set a record's name field to a script payload that is rendered without HTML escaping. Exploitation further requires that a second user (a colleague) subsequently opens the page displaying that record name (UI:P), at which point the script runs in the victim's session. Limiting factors: no anonymous/unauthenticated path (edit rights required), reliance on victim interaction to trigger the payload, and impact confined to the browser session rather than the ERPNext server itself. Fixed in version 16.27.0. |
| Impact | This is a medium-severity, authenticated stored XSS (CWE-79) in Frappe ERPNext 16.x before 16.27.0, and the available signals converge on a genuine-but-limited priority rather than an urgent emergency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) confirms network reach and low complexity but requires PR:L - the attacker must already hold edit rights on records - and UI:P, meaning a victim colleague must open the affected page. Impact is scoped to the subsequent system (the victim's browser session): SC:L/SI:L with VC/VI/VA:N on the vulnerable server itself, consistent with script execution in another user's context rather than direct server compromise. No EPSS score, KEV listing, or POC was provided in the input: exploitation status is 'no public exploit identified at time of analysis.' The authenticated precondition (edit rights) substantially lowers real-world risk since it presumes an insider or a compromised/over-privileged account, making this most relevant as a privilege-escalation or lateral-movement primitive within an ERP tenant rather than a mass-exploitable external flaw. No signals conflict; the main caveat is simply the absence of exploitation-probability data (EPSS/KEV/POC all unknown). |
| Exploit ScenarioDerived | A low-privileged ERPNext user who holds edit rights on a document type creates or renames a record so its name contains a malicious script payload. When a colleague - potentially an administrator - later opens that record's page, the unescaped record name renders and the script executes in their authenticated session, enabling session actions or data theft in the victim's browser context. No public exploit code was identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Stored cross-site scripting in Frappe ERPNext 16.x before 16.27.0 allows an authenticated user who holds edit (write) rights on a document type to set a record's name field to a script payload that the application later renders without HTML escaping. The script executes in the browser of any colleague who subsequently opens the affected record page, enabling session-context actions such as data theft or UI manipulation within that victim's ERPNext session. No public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor has released a fix in version 16.27.0, so this is a genuine but limited medium-severity issue rather than an urgent emergency.
RemediationAI
Upgrade to Frappe ERPNext 16.27.0 or later, which is the vendor-released patch for this issue; validate the update against the advisory at https://github.com/frappe/erpnext/security/advisories/GHSA-mvr5-2j8r-53p4 before wide deployment. If immediate upgrade is not possible, reduce exposure by tightening role and permission assignments so that edit (write) rights over document types are limited to a small, trusted set of users, recognizing that this restricts legitimate workflows and does not eliminate the flaw for those privileged accounts. Enforcing a restrictive Content-Security-Policy that disallows inline and third-party script on ERPNext pages provides defense in depth, though it can break legitimate front-end functionality and requires testing. Additional compensating controls include reviewing existing record names for injected markup and re-validating user-supplied naming input, plus monitoring for unusual document name values; these measures lower the chance of a payload reaching a victim but are not substitutes for applying the 16.27.0 fix.
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 flaw is a stored (persistent) cross-site scripting condition mapped to CWE-79, Improper Neutralization of Input During Web Page Generation. ERPNext, built on the Frappe framework, uses DocType record names as identifiers that are frequently surfaced in page titles, breadcrumbs, links, and list views; the affected code path emits a user-controllable record name into HTML without output encoding, so markup and script tags stored in that name field are interpreted by the browser rather than displayed as text. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) both agree the attack is network-reachable but requires low-privilege authenticated access and victim interaction, with scope change because the payload executes in a different user's browser security context. The only CPE supplied, cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*, identifies the ERPNext application itself, and no additional CPEs indicate a separate affected library or component.
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:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Requires authenticated edit rights (PR:L) and victim opening the page (UI:R); stored script executes in another user's browser so scope changes (S:C) with limited C/I impact and no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Frappe ERPNext 16.x before 16.27.0 contains a stored cross-site scripting vulnerability that allows users with edit rights to inject script through a record name rendered without escaping. Attackers can set a malicious record name so the script runs in the browser of any colleague who opens the page.
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-98048
GHSA-q3p4-7c35-89wj
NVD
CVE.org
EPSS
Exploit-DB