---
id: "CVE-2026-103899"
kind: "vulnerability"
aliases: ["CVE-2026-103899"]
title: "WordPress EU VAT Assistant plugin: stored XSS via vat_number escalates to admin takeover"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "woocommerce", "wordpress"]
not_affected_if: ["plugin-not-installed"]
published_at: "2026-10-17T04:16:47+00:00"
first_seen_at: "2026-10-23T21:57:14+00:00"
updated_at: "2026-10-25T03:29:28+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-103899", "first_seen_at": "2026-10-23T21:57:14+00:00"}]
---

# WordPress EU VAT Assistant plugin: stored XSS via vat_number escalates to admin takeover

The EU VAT Assistant for WooCommerce WordPress plugin fails to sanitize the vat_number parameter, so unauthenticated visitors can store scripts that run later. When an administrator opens the order in WooCommerce, the script runs in their browser and can create a rogue administrator account, giving full site takeover.

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

## How to check

- Check whether the EU VAT Assistant for WooCommerce plugin is installed and its version (WordPress admin Plugins page), noting any version up to and including `2.1.30.260413`
- unknown for other checks; the sources do not say which file or setting to inspect

## Fix

- Update the EU VAT Assistant for WooCommerce plugin to a version newer than `2.1.30.260413`; the sources do not name the patched version
- unknown for other actions; the sources do not say

## Timeline

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

## From the sources

The EU VAT Assistant for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'vat_number' parameter in all versions up to, and including, 2.1.30.260413 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The stored payload executes in the administrator's browser context when reviewing an order via WooCommerce → Orders → Edit Order, enabling privilege escalation up to and including full site takeover via rogue administrator account creation.

---

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