Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Item record editor
-
DeliveryInject JS payload into item_name, description, or image field
-
ExploitSave poisoned Item record to ERPNext database
-
ExecutionPOS operator opens transaction and adds poisoned item to cart
-
PersistUnescaped JS executes in operator's browser session
-
ImpactExfiltrate session token or perform unauthorized POS actions
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 hold an authenticated ERPNext account with Item record edit permissions - this is a high-privilege role (PR:H per CVSS vector), not accessible to standard or guest users. The victim must be a POS operator who passively triggers the payload by adding the maliciously crafted item to a Point of Sale cart transaction (UI:P per CVSS vector); simply browsing the item catalog outside the POS cart interface may not trigger execution, as the unescaped rendering is specifically identified in the POS cart surface. The vulnerability is confirmed only for ERPNext 16.16.0; behavior on other versions is not confirmed from available data. Exploitation is limited to environments where the POS module is in active use and where at least one user account with Item edit access is available to an attacker. Environments that do not use the ERPNext POS module are not exposed to the attack trigger path. |
| Impact | The CVSS 4.0 base score of 4.8 (Medium) reflects a well-bounded risk profile. The vector AV:N/AC:L/AT:N/PR:H/UI:P confirms network-reachable exploitation with low complexity and no special target conditions, but critically requires high privileges (PR:H - authenticated Item record editor) and passive user interaction (UI:P - a POS operator must add the item to a transaction). Impact is limited to low confidentiality and integrity on both the vulnerable system (VC:L, VI:L) and downstream scope (SC:L, SI:L) with no availability impact. No EPSS score was included in the input data, preventing probabilistic exploitation likelihood assessment. There is no CISA KEV listing and no public exploit code identified at time of analysis, indicating no confirmed widespread exploitation. Real-world risk is most elevated in organizations where POS operators represent a distinct, lower-trust population relative to catalog managers - the vulnerability enables a catalog editor to execute JavaScript in the session of every POS operator who processes a transaction involving the poisoned item, potentially enabling session token theft or unauthorized POS actions. The high-privilege prerequisite substantially limits opportunistic exploitation. |
| Exploit ScenarioDerived | An authenticated ERPNext catalog manager (or an attacker who has compromised such an account) edits an Item record and embeds a JavaScript payload - such as a session cookie exfiltration script - into the item_name or description field before saving. When any POS operator subsequently adds that item to a cart during a sales transaction, the injected payload executes silently in the operator's browser, potentially exfiltrating their session token back to an attacker-controlled endpoint. No public exploit code has been identified at time of analysis, but the stored XSS pattern is well-understood and the attack requires no specialized tooling beyond a browser and a legitimate authenticated account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 03, 2026
Stored cross-site scripting in ERPNext 16.16.0 allows an authenticated user holding Item record edit permissions to persist malicious HTML/JavaScript in the item_name, description, or image fields, which executes unescaped in the Point of Sale (POS) cart interface for any operator who subsequently adds that item to a transaction. Reported by Fluid Attacks (EUVD-2026-34158), this is a stored XSS with lateral impact across all POS operator sessions exposed to the poisoned item record. No public exploit code has been identified at time of analysis and this vulnerability is not listed in the CISA KEV catalog; the CVSS 4.0 score of 4.8 reflects the constrained attack surface imposed by high privilege prerequisites and required passive user interaction.
RemediationAI
No vendor-released patch version has been independently confirmed from the available input data - the upstream Frappe GitHub repository at https://github.com/frappe/erpnext should be monitored for commits or tagged releases addressing this stored XSS, and the Fluid Attacks advisory at https://fluidattacks.com/es/advisories/pink should be consulted for patch confirmation. As a compensating control, restrict Item record edit permissions to the smallest possible set of highly trusted administrators, directly limiting who can introduce malicious payloads; note this trade-off may impact catalog management workflows. Additionally, perform an audit of existing Item records in ERPNext 16.16.0 deployments - specifically inspecting item_name, description, and image fields for injected script content - before assuming a clean state. If POS operations cannot be suspended pending a patch, consider limiting POS operator exposure by restricting the item catalog visible in POS sessions to a pre-vetted subset.
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
ERPNext is an open-source enterprise resource planning platform built on the Frappe framework (CPE: cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*). The vulnerability is rooted in CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-Site Scripting): specifically, the Stored XSS variant, where attacker-controlled input is persisted to the database and later rendered without HTML entity encoding in a separate browsing context. The affected rendering surface is the Point of Sale cart interface, which reads and displays item fields (item_name, description, image) directly from stored Item records without applying output encoding, allowing injected script payloads to execute within the POS operator's browser session each time the item is added to a transaction.
Know when Erpnext 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:H/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Primary rating from Vendor (Fluid Attacks) · only source for this CVE.
CVSS VectorVendor: Fluid Attacks
Lifecycle Timeline
2DescriptionCVE.org
An authenticated ERPNext user with Item record edit permissions can persist arbitrary HTML/JavaScript in the item_name, description, or image fields of an Item and trigger unescaped rendering in the Point of Sale (POS) cart interface for every operator who adds that item to a transaction.This issue affects ERPNext: 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 attackers with permission to create or modify Print Format documents in Frappe ERPNext through 15.89.0 can
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 allows users with privileges to configure
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Frappe Framework ERPNext 13.4.0 contains a sandbox escape vulnerability in RestrictedPython that allows authenticated us
EUVD-2026-34158
GHSA-hc32-c5xw-9f2m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB