Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach /vitepos/v1/vendor/list REST route
-
ExploitInject SQL via 'src_by' parameter
-
ExecutionAppend stacked/UNION query to existing SQL
-
ImpactExtract sensitive database records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Vitepos (vitepos-lite) plugin must be installed and active at version ≤3.5.1 on a WooCommerce/WordPress site, and the /vitepos/v1/vendor/list REST route must be reachable. Per the advisory the route's permission callback requires only a POS role assignment (e.g., vtpos-cashier) rather than an elevated WordPress capability, though the same description also claims fully unauthenticated exploitation - this access prerequisite is the key limiting factor and should be verified. The injectable input is the 'src_by' parameter, which is insufficiently escaped and passed into a non-prepared SQL query. No user interaction or non-default configuration beyond having the plugin active is required; impact is limited to database read/disclosure, not modification. |
| Impact | This is a credible, actionable priority but not a top-tier emergency. The CVSS 3.1 base score of 7.5 reflects network attack vector (AV:N), low complexity (AC:L), no privileges claimed (PR:N), no user interaction (UI:N), and high confidentiality impact with no integrity or availability impact (C:H/I:N/A:N) - consistent with an unauthenticated read-oriented SQL injection (CWE-89). However, the description contains an internal conflict: it opens by claiming 'unauthenticated attackers' can exploit it, then states the /vitepos/v1/vendor/list REST route's permission callback 'requires only a POS role assignment' such as vtpos-cashier. A permission callback that requires any role is, strictly, an authentication gate, which contradicts the PR:N rating - verify with Wordfence/vendor whether the route is truly reachable with no session or only with a low-privilege POS role. No EPSS score, KEV listing, or public POC was provided; exploitation status is therefore 'no public exploit identified at time of analysis.' Absence of KEV/EPSS data means real-world exploitation likelihood cannot be quantified from the inputs. SSVC framing: technical impact is partial (confidentiality-only data disclosure, not full system takeover), and automatability is plausible for a parameter-based SQLi but unconfirmed. Net: treat as a prompt-patch item for any site running Vitepos ≤3.5.1, weighted by the fact that POS/cashier credentials are routinely and broadly issued in retail environments, lowering the practical barrier even under the authenticated reading. |
| Exploit ScenarioDerived | An attacker (either unauthenticated, or holding a low-privilege POS role such as vtpos-cashier, per the conflicting access description) sends a crafted request to the /vitepos/v1/vendor/list REST endpoint with a malicious 'src_by' parameter. Because the value is insufficiently escaped and the SQL query is not properly prepared, the attacker appends additional SQL to extract sensitive data (e.g., user records, order/customer data) from the WordPress/WooCommerce database. No public exploit code was identified at the time of analysis, but the vulnerability class and low attack complexity make reliable exploitation straightforward to develop. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
SQL injection in the Vitepos - Point of Sale (POS) for WooCommerce WordPress plugin, affecting all versions up to and including 3.5.1, lets an attacker append arbitrary SQL through the 'src_by' parameter on the /vitepos/v1/vendor/list REST route and read sensitive data out of the site's database. Exploitation requires the affected plugin to be installed and active, and our assessment rates the route as reachable by any user holding a low-privileged POS role (for example vtpos-cashier) rather than by a fully anonymous visitor, although the vendor advisory also claims unauthenticated exploitation; no public exploit code has been identified at time of analysis. Impact is confidentiality-only - database disclosure, not modification - with no user interaction required.
RemediationAI
Move off Vitepos 3.5.1 by upgrading to a patched release once the vendor publishes one; an upstream fix has been committed in the plugin's WordPress.org repository (Trac changeset 3700375), but a tagged fixed version has not been independently confirmed, so verify the plugin changelog before assuming you are protected. If the update cannot be applied immediately, block or tightly restrict requests to the plugin's REST namespace - in particular any call to /vitepos/v1/vendor/list that carries a src_by parameter - using a WAF or an Nginx/Apache rewrite rule, accepting that legitimate POS terminals querying vendor listings will also be blocked unless the rule is scoped narrowly to that parameter. Because the route's permission callback accepts any POS role, audit POS assignments and remove roles such as vtpos-cashier from accounts that do not need them; fully deactivating the plugin closes the vector but disables point-of-sale functionality. Regardless of which control is chosen, review database read activity for anomalous patterns and consult the Wordfence advisory for updated guidance.
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
Vitepos is a point-of-sale extension that runs on top of WooCommerce and is distributed through the WordPress.org plugin repository as 'vitepos-lite'; the affected CPE is appsbd:vitepos_-_point_of_sale_(pos)_for_woocommerce with a wildcard version, confirming that no fixed version is enumerated. Internally the plugin relies on the Appsbd framework layer (class-querybuilder.php, class-basemodel.php, class-pos-vendor-api.php), which builds SQL strings dynamically; the 'src_by' request parameter is concatenated into a query without escaping or parameter binding, the classic CWE-89 root cause. The exposed REST route /vitepos/v1/vendor/list registers a permission callback that checks only for a POS role assignment (such as vtpos-cashier) instead of an elevated WordPress capability like manage_options, so the authorization boundary is far weaker than a typical admin-only endpoint - this is the pivot that makes the flaw practically reachable by low-privileged accounts.
Know when Wordpress Plugin 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:N/S:U/C:H/I:N/A:N
Network REST endpoint and low complexity, but the stated permission callback requires a POS role, so PR:L rather than PR:N; impact is read-only data disclosure, hence C:H/I:N/A:N.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Vitepos - Point of Sale (POS) for WooCommerce plugin for WordPress is vulnerable to generic SQL Injection via the 'src_by' parameter in all versions up to, and including, 3.5.1 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for unauthenticated attackers to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This makes it possible for unauthenticated attackers, or authenticated attackers holding any POS role (such as vtpos-cashier), to exploit the vulnerability, as the /vitepos/v1/vendor/list REST route's permission callback requires only a POS role assignment rather than any elevated WordPress capability.
Executive ViewAI
The Vitepos - Point of Sale (POS) for WooCommerce WordPress plugin, in every version through 3.5.1, exposes a database read flaw that allows someone with only a low-privileged cashier-level POS account to extract information from the site's WordPress database. Because this plugin is the in-store point-of-sale layer, the records exposed can include customer contact details and transactional history, making this a data-disclosure and privacy/regulatory concern rather than an availability or integrity one. Leadership should care because the organization's customer data is reachable through a business-critical tool for which no vendor fix currently exists, even though no public exploit has been observed.
No vendor-released patch identified at time of analysis. Interim mitigations: deactivate the Vitepos plugin if POS operations permit; block or restrict the /vitepos/v1/vendor/list route (and the wider /vitepos/v1/* namespace) at the WAF or reverse proxy; virtual-patch by rejecting or sanitizing unexpected values in the src_by parameter; remove or disable non-essential low-privileged POS accounts (for example vtpos-cashier); enforce least privilege and MFA on all WordPress accounts; and monitor database and REST logs for anomalous read activity.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
EUVD-2026-102824
GHSA-887q-pmvc-rpw5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB