Open Source POS CVE-2025-68434
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure logged-in admin to malicious page
-
DeliveryBrowser auto-submits forged POST request
-
ExploitNo CSRF token validated by server
-
ExecutionCreate new Administrator account
-
ImpactFull system takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that an authenticated OSPOS administrator (running an affected build, version 3.4.0 up to but not including 3.4.2) be socially engineered into visiting an attacker-controlled web page while holding a valid logged-in session; this UI:R dependency is the primary limiting factor. The underlying technical precondition is that the 'csrf' filter remains disabled in app/Config/Filters.php - which is the default state for the vulnerable versions, so no non-default configuration is needed on the victim side. The attacker needs no account or credentials on the target (PR:N) and no network position beyond getting the admin to load a URL. The documented workaround (manually uncommenting the CSRF filter) mitigates the flaw but is noted by the vendor to risk breaking the Sales module due to token-synchronization issues unless the full 3.4.2 patch is applied. |
| Impact | Multiple signals align to make this a credible, above-average-priority issue for anyone actually running OSPOS, though not a mass-internet emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, 8.8 High) reflects a network-reachable, low-complexity flaw needing no attacker privileges but requiring user interaction - specifically a logged-in administrator visiting an attacker-controlled page. The SSVC-style read is: exploitation = public PoC available (not confirmed in-the-wild), automatable = partial (the attacker cannot force an admin to visit, but the forged request itself is trivially scripted), technical impact = total (silent creation of a full Administrator account = complete takeover). Publicly available exploit code exists, and the source-code diff independently confirms root cause (CSRF filter was explicitly commented out in app/Config/Filters.php), which raises confidence that the PoC works as described. No EPSS score was provided in the input, so exploitation probability cannot be quantified; this should be verified. This is NOT in CISA KEV, so there is no evidence of active, widespread exploitation - the realistic threat is targeted social-engineering of an administrator rather than mass scanning. The one tempering factor versus the raw 8.8 is the mandatory UI:R gate: exploitation depends entirely on luring an authenticated admin, so real-world risk scales with how exposed/tricked a given deployment's admins are. |
| Exploit ScenarioDerived | An attacker hosts a malicious web page containing a hidden auto-submitting form (or XHR) that POSTs to the OSPOS user/employee-creation endpoint. They send the link to a logged-in administrator via phishing; when the admin opens it, their authenticated browser silently submits the request and a new attacker-controlled Administrator account is created. A public PoC for this exact 'unauthorized administrator creation' flow is available, lowering the skill required to weaponize it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Cross-site request forgery in Open Source Point of Sale (OSPOS) 3.4.0 through 3.4.1 allows an unauthenticated remote attacker to silently create a new full-privilege Administrator account by luring a logged-in administrator to an attacker-controlled web page, resulting in complete system takeover (confidentiality, integrity, and availability all rated High). The root cause is an explicitly disabled CSRF filter in app/Config/Filters.php, meaning affected builds ship with no token verification on state-changing POST requests, and the attacker requires no account or credentials on the target (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, 8.8). Publicly available exploit code exists (a dedicated proof-of-concept repository is referenced in the NVD record), though there is no confirmation of active exploitation in the wild; exploitation still depends on the user-interaction prerequisite of getting an authenticated admin to visit the malicious page. The vendor patched the issue in 3.4.2.
RemediationAI
Vendor-released patch: upgrade to Open Source Point of Sale 3.4.2, which re-enables the CSRF filter and applies the accompanying Security.php changes (csrfProtection 'cookie' to 'session', regenerate true to false) and header_js.php token handling required to avoid breaking AJAX flows; the full change set is in commit d575c8da9a1d7af8313a1e758e000e243f5614ef / PR https://github.com/opensourcepos/opensourcepos/pull/4349 and documented at https://github.com/opensourcepos/opensourcepos/security/advisories/GHSA-wjm4-hfwg-5w5r. If immediate upgrade is not possible, the documented interim workaround is to manually re-enable the filter in app/Config/Filters.php by uncommenting the line 'csrf' => ['except' => 'login'] - but the vendor explicitly cautions this is not recommended on its own, because without the associated token-regeneration and session-vs-cookie changes it can break functionality in the Sales module due to token-synchronization issues, so treat it as a stopgap only. Additional compensating controls that carry less breakage risk include restricting network access to the OSPOS instance so it is reachable only from trusted management networks rather than the general internet, which reduces the chance an administrator browsing elsewhere can be induced to submit a forged request, and instructing administrators to log out of OSPOS when not actively using it and to avoid browsing untrusted sites in a browser session that holds a valid OSPOS login; both mitigations trade off usability and do not fix the underlying missing token validation. Replacing a default or shared admin credential set and reviewing the user list for unexpected Administrator accounts is also advisable given the silent-account-creation impact of successful exploitation.
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
OSPOS is a PHP web application built on the CodeIgniter 4 framework, and the flaw is a textbook CWE-352 cross-site request forgery caused not by a subtle logic bug but by an explicit configuration decision: the 'csrf' filter entry in app/Config/Filters.php was commented out with the note 'Temporarily disable CSRF until we get everything sorted', so the framework's CSRF protection was never applied to incoming POST requests in versions 3.4.0 and 3.4.1. Because PHP session cookies are sent automatically by the victim's browser on cross-site requests, any state-changing endpoint (such as administrator account creation) would accept a forged request bearing the admin's session. The official fix in commit d575c8da9a1d7af8313a1e758e000e243f5614ef (PR #4349) does three things: it re-enables the filter ('csrf' => ['except' => 'login']), switches the CodeIgniter Security configuration $csrfProtection from 'cookie' to 'session', and sets $regenerate from true to false to eliminate AJAX token-synchronization race conditions. The patch also replaces client-side token retrieval via the js-cookie library (removed from package.json/package-lock.json and the gulp build) with a server-rendered csrf_hash() value in the header JavaScript, which is what makes the session-based token approach reliable across the application's AJAX-driven Sales module. The CPE cpe:2.3:a:opensourcepos:open_source_point_of_sale:*:*:*:*:*:*:*:* reflects that all release builds in the vulnerable version window are affected rather than a single build.
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:N/UI:R/S:U/C:H/I:H/A:H
Classic CSRF: attacker needs no privileges (PR:N) but relies on a logged-in admin's action (UI:R); forged admin creation yields full C/I/A impact, scope unchanged.
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
Open Source Point of Sale (opensourcepos) is a web based point of sale application written in PHP using CodeIgniter framework. Starting in version 3.4.0 and prior to version 3.4.2, a Cross-Site Request Forgery (CSRF) vulnerability exists in the application's filter configuration. The CSRF protection mechanism was explicitly disabled, allowing the application to process state-changing requests (POST) without verifying a valid CSRF token. An unauthenticated remote attacker can exploit this by hosting a malicious web page. If a logged-in administrator visits this page, their browser is forced to send unauthorized requests to the application. A successful exploit allows the attacker to silently create a new Administrator account with full privileges, leading to a complete takeover of the system and loss of confidentiality, integrity, and availability. The vulnerability has been patched in version 3.4.2. The fix re-enables the CSRF filter in app/Config/Filters.php and resolves associated AJAX race conditions by adjusting token regeneration settings. As a workaround, administrators can manually re-enable the CSRF filter in app/Config/Filters.php by uncommenting the protection line. However, this is not recommended without applying the full patch, as it may cause functionality breakage in the Sales module due to token synchronization issues.
Executive ViewAI
Open Source Point of Sale (OSPOS) versions 3.4.0 and 3.4.1 allow an unauthenticated outsider to silently mint a full-privilege administrator account by tricking a logged-in administrator into visiting a malicious web page, giving the attacker complete control over the storefront's sales platform, pricing, and transaction records. Organizations running these builds face a realistic path to total system takeover with no credentials required on the target, and publicly available exploit code exists, though there is no confirmation of active exploitation in the wild. Leadership should care because OSPOS typically sits at the point of revenue capture, so a compromise can translate directly into data loss, fraudulent or altered transactions, and extended checkout outages across affected locations.
Apply vendor patch.
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 Request Forgery exploits the automatic credential inclusion behavior of web browsers.
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)
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
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