Open Source POS CVE-2025-66921
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to POS admin item module
-
DeliveryInject script via item 'name' parameter
-
ExploitPayload stored unsanitized
-
ExecutionVictim staff views item page
-
ImpactScript executes in victim browser session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires an authenticated account with sufficient privileges to reach the Create/Update Item(s) module of Open Source Point of Sale v3.4.1 (the input CVSS PR:H implies administrator-level access), used to inject the payload via the item 'name' parameter. Because this is XSS, successful impact additionally depends on a second victim user subsequently viewing the page that renders the stored 'name' value, so realistic exploitation hinges on a multi-user deployment where a higher- or differently-privileged user views attacker-controlled item data. These prerequisites - prior authenticated/privileged access plus a victim viewing the injected content - materially limit real-world risk despite the network attack vector. |
| Impact | This is a stored/reflected cross-site scripting flaw rated CVSS 7.2 (High) with the input vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H. The signals are mixed and some are internally inconsistent. Supporting a moderate-but-not-urgent priority: public exploit code exists (a GitHub write-up), but there is NO CISA KEV listing and the EPSS score is low at 0.55% (45th percentile), indicating no evidence of widespread automated exploitation. Several provided signals conflict and should be treated with caution: (1) The input CWE is CWE-20 (Improper Input Validation), but the description and tags clearly describe XSS (CWE-79) - the CWE appears mislabeled. (2) The input CVSS vector is atypical for XSS: it claims S:U with C:H/I:H/A:H, whereas XSS normally executes in a victim's browser, implying a scope change (S:C) and limited (L) rather than High impacts. The High-triple-impact with Unchanged scope looks over-scored for a 'name'-parameter script injection. (3) PR:H in the vector indicates the attacker already needs high (likely admin) privileges to reach the Create/Update Item(s) module, which substantially limits real-world risk - an attacker who can already administer items has limited incentive to XSS themselves unless targeting lower-privileged staff viewing those items. Net assessment: a genuine but lower-tier issue - a privilege-gated XSS in a niche open-source product with public PoC but no active exploitation evidence. Treat the inflated impact metrics skeptically and verify against the vendor. |
| Exploit ScenarioDerived | An authenticated user with access to the Create/Update Item(s) module submits a product with a malicious script payload in the 'name' field, which is stored without sanitization. When another staff member or administrator later views the item list or detail page, the script executes in their browser session, enabling session-token theft or actions in the victim's authenticated context. Public exploit/PoC documentation for this flaw already exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Stored cross-site scripting in Open Source Point of Sale 3.4.1 allows an authenticated user who can reach the Create/Update Item(s) module to inject arbitrary script or HTML through the item "name" parameter, which is then rendered to other users browsing the catalogue or item screens. Exploitation is conditional: it requires an account with sufficient privileges to create or modify items (the supplied vector implies administrator-level access, while the independent assessment models it as PR:L) plus a second victim user who views the affected page - so real-world risk concentrates in multi-user deployments where a higher-privileged user opens attacker-influenced item data. Publicly available exploit code exists, but EPSS is modest at 0.55% (45th percentile) and there is no KEV confirmation, so the 7.2 High score derived from the input vector (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H) should be read alongside the independent assessment (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N), which reduces the severity materially because victim interaction is required and confidentiality/integrity impact is limited.
RemediationAI
No vendor-released patch was identified at time of analysis, so remediation must start with compensating controls rather than a version upgrade. First, restrict access to the Create/Update Item(s) module to the smallest possible set of trusted accounts, since the flaw requires an authenticated user with item-management privileges to plant the payload - the trade-off is reduced staff flexibility for catalogue maintenance. Second, sanitise and output-encode the item "name" field wherever it is rendered (HTML-entity encoding on display, plus server-side rejection or stripping of script/HTML constructs on input) so that previously stored malicious names stop executing; this may require custom changes to the application code and should be re-applied after any upstream upgrade. Third, deploy a Content-Security-Policy that disallows inline and untrusted script sources on the point-of-sale web interface - this will break any legitimate inline scripts or third-party widgets the application relies on and must be tested in a staging deployment first. Fourth, review existing item records and database exports for suspicious "name" values and clean any that contain markup, and monitor the project repository at https://github.com/opensourcepos/opensourcepos for an official fixed release to replace these workarounds; users should also apply standard web-facing hardening such as restricting network exposure of the POS interface and enforcing least-privilege roles. Note that the underlying database and account credentials should not be considered compromised by this issue - impact is limited to script execution in a viewing user's browser session.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an input-handling weakness in the item management workflow of Open Source Point of Sale 3.4.1, a web-based retail point-of-sale application identified by CPE cpe:2.3:a:opensourcepos:open_source_point_of_sale:3.4.1. The assigned root-cause class is CWE-20 (Improper Input Validation), rather than the more usual CWE-79 for XSS: the application accepts the item "name" parameter without validating or neutralising script-bearing content, and that value is subsequently revisited when item records are displayed, so the payload executes in the browser of whoever views the rendered page. Because the payload is persisted in a stored item record, this behaves as a stored XSS that survives across sessions and users, with the independent vector's scope-change flag (S:C) reflecting that the injected script runs in the victim's browser context and can act beyond the boundary of the vulnerable component. The authentication dimension is the key qualifier: the input vector asserts PR:H and UI:N, whereas the independent assessment models PR:L with UI:R and reduced C:L/I:L/A:N, meaning the realistic attack chain is an authenticated low-to-high privileged user planting the payload followed by a victim user visiting the affected page. No server-side remote code execution, authentication bypass, or database compromise is demonstrated by the available data; the impact is confined to script execution in the victim's session.
Know when Open Source Point Of Sale 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
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
XSS needs an authenticated item-editing account (PR:L) and a victim to view the injected 'name' (UI:R); script runs in the victim's browser (S:C) with limited confidentiality/integrity impact and no availability loss.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
A Cross-site scripting (XSS) vulnerability in Create/Update Item(s) Module in Open Source Point of Sale v3.4.1 allows remote attackers to inject arbitrary web script or HTML via the "name" parameter.
Executive ViewAI
Open Source Point of Sale 3.4.1 is affected by a stored cross-site scripting flaw that can allow an authenticated user with item-management rights to inject malicious content into item names, which then runs when other users view catalog or item screens. In multi-user or administrator-supported POS deployments, this creates risk of session theft, unauthorized actions under a victim's privileges, and exposure of payment or customer data, so leadership should treat it as a high-priority remediation item. Publicly available exploit code exists, but there is no CISA KEV confirmation and EPSS is 0.6%, while No vendor-released patch identified at time of analysis.
No vendor-released patch identified at time of analysis; interim mitigations include limiting Create/Update Item(s) privileges to trusted administrators, validating and sanitizing item-name input, output-encoding item names in catalogue and item screens, using WAF/CSP rules to block script injection, monitoring item changes, and isolating POS admin interfaces behind VPN/zero-trust access.
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.
Affected Products (CPE)CVE.org
More in Open Source Point Of Sale
View allOpen Source Point Of Sale versions up to 3.4.1 is affected by unrestricted upload of file with dangerous type (CVSS 8.8)
Cross-site request forgery in Open Source Point of Sale (OSPOS) 3.4.0 through 3.4.1 allows an unauthenticated remote att
Stored cross-site scripting in Open Source Point of Sale (OSPOS) versions 3.4.0 through 3.4.1 allows an attacker with ad
An issue in OpenSourcePOS v3.4.1 allows attackers to execute arbitrary code via returning a crafted AJAX response. [CVSS
Authenticated attackers with high privileges can exploit a stored cross-site scripting (XSS) vulnerability in Open Sourc
Open Source Point of Sale v3.3.7 was discovered to contain an arbitrary file upload vulnerability via the Update Brandin
A cross-site scripting (XSS) vulnerability in the item management and sales invoice function of OpenSourcePOS v3.4.1 all
A cross-site scripting (XSS) vulnerability in the Customers function of OpenSourcePOS v3.4.1 allows attackers to execute
A cross-site scripting (XSS) vulnerability in the Generate Item Barcode function of OpenSourcePOS v3.4.1 allows attacker
Open Source Point of Sale v3.4.1 contains a stored cross-site scripting (XSS) vulnerability in the Create/Update Item Ki
A cross-site scripting (XSS) vulnerability in the Item Kits function of OpenSourcePOS v3.4.1 allows attackers to execute
OpenSourcePOS 3.4.1 allows authenticated attackers to execute arbitrary SQL commands through unsanitized concatenation o
NVD
CVE.org
EPSS
GitHub
Exploit-DB