Open Source POS CVE-2025-66923
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as privileged POS user
-
DeliverySubmit customer with script in phone_number
-
ExploitPayload stored unsanitized in record
-
ExecutionVictim staff opens customer 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 back-office account with privileges to create or update customer records (the input CVSS PR:H confirms high privileges are needed), and the injected payload in the phone_number field only fires when a second user opens the affected customer record - so realistic abuse depends on a victim viewing the record. This limits the attack to malicious insiders or attackers who have already obtained privileged POS credentials; it is not remotely exploitable against an unauthenticated internet-facing surface. Affected configuration is Open Source Point of Sale v3.4.1 specifically. |
| Impact | This is a moderate-risk, not a high-priority, issue despite the 7.2 CVSS score. The input CVSS vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H) is internally inconsistent with the vulnerability class: a stored/reflected XSS in a customer-record field (CWE-20, 'XSS') does not plausibly yield High confidentiality, integrity AND availability impact on an unchanged scope, and it realistically requires victim interaction (UI:R), not UI:N - this appears to be an inflated/mislabeled vector and should be verified rather than trusted. Supporting signals point to low real-world urgency: EPSS is only 0.55% (45th percentile), there is NO CISA KEV listing, and exploitation is gated behind PR:H (a privileged, authenticated back-office user who can create/update customers). A public exploit write-up does exist (GitHub PoC), so proof-of-concept is confirmed, but publicly available exploit code is a distinct signal from active exploitation and none is reported here. Net: the attacker must already be an authenticated privileged POS operator to inject the payload, which substantially narrows the threat to insider or post-compromise scenarios. Treat as a routine patch item, not an emergency. |
| Exploit ScenarioDerived | An authenticated privileged POS user (or an attacker who has stolen such credentials) edits a customer and places a malicious script in the phone_number field, which is stored without sanitization. When another staff member or admin later opens that customer record in the back office, the script executes in their browser session, enabling session/cookie theft or actions in their authentication context. A public proof-of-concept for this exact parameter is available on GitHub. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Authenticated attackers with high privileges can exploit a stored cross-site scripting (XSS) vulnerability in Open Source Point of Sale v3.4.1 by injecting malicious script into the phone_number parameter of the customer creation/update form. The injected payload executes when another user views the affected customer record, potentially leading to session hijacking or data theft. Public exploit code exists, but exploitation requires a victim to interact with the record, and the attacker must already possess valid back-office credentials with customer management privileges.
RemediationAI
No vendor-released patch has been identified at the time of analysis. Administrators should monitor the vendor's GitHub repository for updates and upgrade to a patched version when available. In the interim, apply input validation and output encoding to the phone_number parameter, ensuring that any user-supplied data is properly sanitized before storage and HTML-encoded upon rendering. Additionally, consider implementing a Content Security Policy (CSP) to mitigate script execution, and restrict access to customer creation/update functions to only highly trusted users. Note that these mitigations may not fully prevent exploitation if the underlying validation flaw remains, and they could impact legitimate use of special characters in phone numbers.
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 vulnerability arises from improper input validation (CWE-20) in the Create/Update Customer(s) functionality of Open Source Point of Sale v3.4.1. The phone_number parameter is not properly sanitized before being stored and later rendered in the application's web interface, allowing an attacker to inject arbitrary JavaScript or HTML. This results in stored XSS. The affected product is identified by CPE cpe:2.3:a:opensourcepos:open_source_point_of_sale:3.4.1:*:*:*:*:*:*:*. According to the independent assessment, exploitation requires high privileges (PR:H) and user interaction (UI:R), with a scope change and limited confidentiality and integrity impact (C:L/I:L).
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
Stored XSS needs a privileged operator to inject (PR:H) and a victim to render the payload (UI:R); it crosses into the victim's browser context (S:C) with limited C/I impact and no availability loss.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
A Cross-site scripting (XSS) vulnerability in Create/Update Customer(s) in Open Source Point of Sale v3.4.1 allows remote attackers to inject arbitrary web script or HTML via the phone_number parameter.
Executive ViewAI
Open Source Point of Sale v3.4.1, used for retail transaction and customer record management, contains a stored cross-site scripting flaw in the customer phone number field that a user with back-office customer-management privileges can abuse to inject script that runs in the browsers of colleagues viewing the affected record. Because the payload persists in the customer database and executes for other staff, it can lead to session hijacking and exposure of customer data. Leadership should care because this affects back-office users and customer records in a system with no vendor fix available, and publicly available exploit code exists (CISA KEV).
No vendor-released patch identified at time of analysis. Interim mitigations: apply server-side input validation and output encoding to the phone_number field and customer record views; restrict customer-management privileges to the minimum necessary accounts; deploy WAF filtering for script payloads in customer create/update requests; enforce a strict Content-Security-Policy and HttpOnly/SameSite session cookies; reduce session lifetimes; monitor logs for injected markup in customer records.
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
Stored cross-site scripting in Open Source Point of Sale 3.4.1 allows an authenticated user who can reach the Create/Upd
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