Skip to main content

Vitepos POS EUVDEUVD-2026-102677

| CVE-2026-109414 MEDIUM
SQL Injection (CWE-89)
2026-10-16 Wordfence GHSA-vx38-3rqc-7pgm
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as vendor-level POS user
  2. Delivery
    Craft API request with malicious bt-operator src_by values
  3. Exploit
    Inject SQL into unprepared BETWEEN query
  4. Execution
    Blind-extract database contents iteratively
  5. Impact
    Exfiltrate sensitive customer and credential data

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

Exploitation requires an authenticated WordPress session with 'vendor-level access and above' in the Vitepos POS plugin, and the attacker must reach the affected POS API endpoints (e.g. the vendor/outlet/purchase APIs) that process the src_by[] filter parameters. The specific trigger is supplying attacker-controlled values in src_by[].val.start / src_by[].val.end while using the 'bt' (BETWEEN) operator, which routes into the unpatched SQL branch left exposed after the 3.6.0 fix. Limiting factors: the required privileged vendor role prevents anonymous or low-privilege exploitation, and sites that are not running Vitepos / WooCommerce or that lack active vendor accounts are not exposed; the injection is blind, so extraction is slower and noisier than an in-band SQLi.

Impact

This is a moderate-priority issue rather than an emergency. The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, base 6.5) indicates a network-reachable, low-complexity blind SQL injection that nonetheless requires authentication - specifically 'vendor-level access and above' per the description, consistent with PR:L. Impact is confidentiality-only (C:H, I:N, A:N): the flaw enables database extraction, not data tampering or denial of service. No EPSS score, CISA KEV listing, or public POC was provided in the input, so per the precision rules there is no public exploit identified at time of analysis and no evidence of active exploitation. The most important nuance is that this is explicitly an INCOMPLETE FIX: version 3.6.0 patched the gt/lt/le/ge operator branches but left the 'bt' (BETWEEN) operator branch vulnerable, meaning a defender who believed they were patched at 3.6.0/3.6.1 remains exposed - this elevates practical risk for organizations that assumed the earlier CVE was resolved. The authentication barrier (a privileged vendor role must already be compromised or malicious) materially limits mass exploitation, pointing to insider or post-compromise abuse rather than opportunistic internet-wide scanning.

Exploit ScenarioDerived

An attacker who holds or has compromised a vendor-level (or higher) POS account sends a crafted API request manipulating the src_by[].val.start / src_by[].val.end parameters with the 'bt' BETWEEN operator, injecting additional SQL into the unprepared query. Because the injection is blind, they iteratively infer data through boolean/time-based responses to extract sensitive database contents such as customer records or WordPress credentials/secrets. No public proof-of-concept exploit was identified in the provided data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Blind SQL injection in the Vitepos - Point of Sale (POS) for WooCommerce plugin, affecting all versions up to and including 3.6.1, lets an authenticated attacker with vendor-level access or higher inject arbitrary SQL through the src_by[].val.start and src_by[].val.end parameters when the 'bt' (BETWEEN) operator is used, allowing extraction of sensitive data from the WordPress database. The defect is an incomplete fix for a SQL injection patched in 3.6.0, which hardened only the gt/lt/le/ge operator branches and left the BETWEEN branch unescaped. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, 6.5) reflects high confidentiality impact with no integrity or availability effect, and no public exploit identified at time of analysis; this is a moderate-priority issue rather than an emergency, since exploitation requires a privileged vendor account and the blind nature of the injection makes data extraction slower and noisier.

RemediationAI

No vendor-released patched version is confirmed in the available data; the primary action is to upgrade the Vitepos - Point of Sale (POS) for WooCommerce (vitepos-lite) plugin as soon as Appsbd publishes a release that extends the 3.6.0 hardening to the 'bt' BETWEEN branch - monitor the WordPress.org changeset https://plugins.trac.wordpress.org/changeset?reponame=&old=3732582%40vitepos-lite&new=3732582%40vitepos-lite and the Wordfence advisory https://www.wordfence.com/threat-intel/vulnerabilities/id/bb6c82b0-d9c7-4777-829d-885f24da4f36?source=cve for the exact fixed version, and do not treat 3.6.0 or 3.6.1 as remediated. Until a fix is available, apply compensating controls: audit and tightly restrict who holds the plugin's vendor role and above (every privileged vendor account is an attack path, so removing dormant vendors and enforcing strong, unique credentials and MFA materially reduces risk, at the cost of POS operational flexibility); if the vendor/purchase/outlet API surfaces are not needed for live operations, block or restrict access to them at the web server or reverse proxy (for example permitting only trusted POS terminal IP ranges), accepting that remote or mobile POS clients will break; deploy a WAF rule that rejects or normalizes requests containing src_by[] parameters with operator 'bt' or with SQL metacharacters in val.start/val.end, understanding that such rules are bypass-prone and are a stopgap rather than a fix; and enable database and application logging to detect blind-SQLi probing against those endpoints. Fully deactivating the plugin removes the exposure but is only advisable if the site does not depend on Vitepos for point-of-sale functionality.

Affected VersionsENISA

Vitepos – Point of Sale (POS) for WooCommerce 0 ≤3.6.1

Affected Packages

euvd vitepos_point_of_sale_pos_for_woocommerce no fix

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 WooCommerce-integrated Point of Sale plugin from vendor Appsbd (WordPress.org slug vitepos-lite, CPE cpe:2.3:a:appsbd:vitepos_-_point_of_sale_(pos)_for_woocommerce). Its REST-style API v1 endpoints - including the POS vendor (class-pos-vendor-api.php), outlet (class-pos-outlet-api.php) and purchase (class-pos-purchase-api.php) handlers, all built on the shared API base class in vitepos_lite/libs/class-api-base.php - accept a src_by[] filter array whose elements carry val.start, val.end and an operator field. When the operator is 'bt' (BETWEEN), those start/end values are concatenated into a WHERE clause built by the plugin's custom query layer (vendor/appsbd-wp/appsbd-lite/appsbd_lite/v6/core/class-basemodel.php), which performs insufficient escaping and does not use prepared statements for this branch. That is the classic CWE-89 improper neutralization of special elements used in an SQL command, and because the query result is not reflected directly, exploitation is blind (boolean/time-based) rather than in-band. The 3.6.0 release added escaping for the gt, lt, le and ge comparison operators but did not cover the BETWEEN path, so 3.6.1 remains vulnerable through the same filter surface. Exploitation requires an authenticated WordPress session holding the plugin's vendor role or above and network reachability to the affected POS API endpoints; anonymous or low-privilege users cannot reach the vulnerable code path, and sites without Vitepos/WooCommerce or without an active vendor account are not exposed.

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

Vendor (Wordfence) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network API reachable (AV:N), straightforward injection (AC:L), requires a privileged vendor account (PR:L), no user interaction; blind SQLi yields data disclosure only (C:H, I:N, A:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The Vitepos - Point of Sale (POS) for WooCommerce plugin for WordPress is vulnerable to blind SQL Injection via the 'src_by[].val.start / src_by[].val.end (operator 'bt')' parameter in all versions up to, and including, 3.6.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 authenticated attackers, with vendor-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This is an incomplete fix for a previously patched SQL injection (version 3.6.0), which addressed only the gt/lt/le/ge operators while leaving the 'bt' (BETWEEN) operator branch unpatched.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche WooCommerce POS plugin, limited WordPress install base
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

CVE-2024-50498 CRITICAL POC
10.0 Oct 28

Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy