Skip to main content

EU VAT Assistant for WooCommerce EUVDEUVD-2026-103232

| CVE-2026-103899 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-17 Wordfence GHSA-vjph-8cf6-48hw
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Submit order with malicious vat_number
  2. Delivery
    Payload stored unsanitized in order record
  3. Exploit
    Admin opens order in WooCommerce edit view
  4. Execution
    Script executes in admin browser context
  5. Persist
    Create rogue administrator account
  6. Impact
    Full site takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the EU VAT Assistant for WooCommerce plugin (version ≤ 2.1.30.260413) active on a WooCommerce store, with the attacker able to submit a value into the 'vat_number' field during order placement/checkout - no authentication is needed (PR:N). The payload is stored and does not fire immediately; it executes only when an administrator (or other user) subsequently opens the affected order via WooCommerce → Orders → Edit Order, so the practical limiting factor is that a privileged user must view the poisoned order page. No non-default configuration is indicated; the risk applies to default deployments that accept VAT numbers from customers.

Impact

This is a genuine, actionable priority despite not being the highest-severity class of bug. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2) describes a network-reachable, low-complexity, unauthenticated stored XSS with a scope change (S:C) - the hallmark of a client-side flaw whose payload crosses from the attacker's input into a privileged administrator browser context. The real severity driver is the escalation path stated in the description: the stored payload runs in an administrator's session when an order is reviewed, enabling rogue admin account creation and full site takeover, which effectively pushes the practical integrity impact well above the 'Low' the base vector records. No EPSS score, CISA KEV listing, or public POC was supplied in the intelligence, and the vulnerability is reported by Wordfence (a credible WordPress-focused source) rather than confirmed exploited. Signals are therefore consistent rather than conflicting: a solid unauthenticated-injection CVSS with no evidence of active exploitation. One caveat to verify: the base vector is scored UI:N, yet exploitation realistically depends on an administrator opening the injected order page - a passive, near-certain action in normal store operation, but technically a dependency defenders should note. Treat this as a prompt-patch item for any site running the plugin, weighted by whether orders from untrusted customers are routinely reviewed in wp-admin.

Exploit ScenarioDerived

An unauthenticated attacker places or submits a WooCommerce order and enters a malicious script into the 'vat_number' field, which is stored without proper sanitization or output escaping. When a store administrator later opens that order via WooCommerce → Orders → Edit Order, the payload executes in their authenticated browser session and can silently create a rogue administrator account, leading to full site takeover. No public exploit code was identified at time of analysis, but the injection point and sink are documented in the referenced plugin source lines.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 17, 2026

Stored cross-site scripting in the EU VAT Assistant for WooCommerce plugin (all versions up to and including 2.1.30.260413) lets an unauthenticated visitor inject arbitrary script through the customer-supplied 'vat_number' field at checkout, which is persisted and later rendered without escaping inside WooCommerce → Orders → Edit Order. The payload fires in the reviewing administrator's browser session, so a single poisoned order can be leveraged to create a rogue administrator account and take over the entire WordPress site. No public exploit code or confirmed active exploitation was identified at time of analysis, but the low attack complexity, lack of authentication requirements (CVSS PR:N), scope change, and the fact that the trigger is a routine admin workflow make this a genuine, actionable priority for any store running the plugin on default configuration.

RemediationAI

No vendor-released patched version is identified in the available data - the referenced Trac links all point at the still-vulnerable 2.1.30.260413 tag - so verify the current plugin release and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/e2cd7c07-e119-4064-a7a9-08c81409f90a?source=cve) and upgrade the moment a fixed build appears. Until then, the highest-value action is to deactivate and remove the EU VAT Assistant plugin from stores that do not strictly need it, accepting the loss of EU VAT number capture, validation and invoice-compliance output. If the plugin must stay live, restrict VAT-number input to validated formats at the edge (a WAF rule or reverse-proxy filter rejecting angle brackets, quotes and script syntax in the vat_number POST parameter) and disable/limit the customer VAT field at checkout via the plugin's settings, understanding that this degrades legitimate VAT collection. Because the trigger is an administrator opening a poisoned order, harden the admin path: enforce least-privilege order-review roles, avoid opening untrusted orders in a browser session that also has plugin/theme-editor or user-creation rights, and audit wp_users and administrator accounts for rogue additions. Deploy a Content-Security-Policy on wp-admin as a compensating control for any residual stored output, and review existing orders' VAT metadata for injected markup. Rotating administrator credentials and, if compromise is suspected, restoring the site from a pre-incident backup are warranted once a malicious order has been viewed.

Affected VersionsENISA

EU VAT Assistant for WooCommerce 0 ≤2.1.30.260413

Affected Packages

euvd eu_vat_assistant_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

The plugin (WordPress.org slug woocommerce-eu-vat-assistant, CPE cpe:2.3:a:daigo75:eu_vat_assistant_for_woocommerce) extends WooCommerce checkout with EU VAT number collection and validation. The vat_number value arrives from an unauthenticated shopper and is stored as order metadata; the advisory-linked source locations show the value being passed through the VAT number validator (src/lib/classes/integration/vat_number_validation/validators/vat_number_validator.php#L132), the order model (src/lib/classes/order/order.php#L56), the admin order integration (src/lib/classes/integration/admin/orders_integration.php#L238) and the admin order VAT info metabox view (src/views/admin/order-vat-info-box.php#L173), with additional hooks in src/plugin-main.php. The root cause is CWE-79: the field is insufficiently sanitized on input and the stored value is echoed into the admin order-edit screen without output escaping. Because the script executes in an authenticated administrator's session context, the CVSS scope is Changed (S:C) - the injected code inherits privileges well beyond those of the injecting attacker, which is what elevates a simple XSS into full-site-takeover potential.

Know when Eu Vat Assistant For Woocommerce 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 HIGH
NVD 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated network injection (AV:N/PR:N) with low complexity; stored payload executing in a privileged admin context is a scope change (S:C) with typical Low confidentiality/integrity XSS impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

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

DescriptionNVD

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.

Executive ViewAI

Why It Matters

The EU VAT Assistant plugin for WooCommerce (all versions through 2.1.30.260413) contains a stored cross-site scripting flaw that allows any unauthenticated shopper to plant malicious code in the checkout VAT number field, which then executes in the browser of an administrator reviewing the poisoned order in WooCommerce → Orders → Edit Order. A successful attack could let an intruder create a rogue administrator account and take full control of the WordPress storefront, putting customer data, EU VAT records, payment workflows, and brand reputation at risk. Leadership should treat this as a priority because the exploit trigger is a routine order-review task performed by store staff on default configurations, and the vendor has not yet released a patch.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove the EU VAT Assistant plugin (versions up to and including 2.1.30.260413) until a fixed release is available; if the plugin must stay active, deploy WAF/reverse-proxy virtual patching that rejects script content in the 'vat_number' field, restrict wp-admin and WooCommerce order-edit access to trusted networks, enforce MFA and least privilege for administrator accounts, enable a restrictive Content Security Policy on admin pages, monitor for new administrator account creation, and review recent orders for injected content.

Threat Intelligence Overview

Prevalence
Medium
niche WooCommerce EU-tax plugin, moderate WordPress install base
Social Media
2
Sightings
Data Quality
3 sources
Confidence: Low

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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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