---
id: "CVE-2026-92766"
kind: "vulnerability"
aliases: ["CVE-2026-92766"]
title: "Vitepos POS for WooCommerce: SQL injection lets unauthenticated users read database"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "vitepos", "woocommerce", "wordpress"]
not_affected_if: ["plugin-not-installed", "plugin-updated"]
published_at: "2026-10-16T09:17:04+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:25:10+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-92766", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# Vitepos POS for WooCommerce: SQL injection lets unauthenticated users read database

The Vitepos point-of-sale plugin for WordPress and WooCommerce fails to escape the src_by parameter, so attacker input is concatenated into SQL queries. An unauthenticated attacker, or anyone holding a POS role such as vtpos-cashier, can append queries to extract sensitive data from the database.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Vitepos plugin version in the WordPress admin Plugins screen or with `wp plugin get vitepos`
- Confirm whether the `/vitepos/v1/vendor/list` REST route responds to requests without authentication
- Review web server logs for requests to `/vitepos/v1/vendor/list` containing `src_by`

## Fix

- Update the Vitepos plugin to a version later than `3.5.1`, as the sources do not name a fixed version
- If no fixed version exists, deactivate the plugin until it is patched
- Rotate WordPress and WooCommerce database credentials and review user and order data if the plugin was exposed

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-92766

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
