Skip to main content

WooCommerce EU VAT EUVDEUVD-2026-103277

| CVE-2026-100316 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-17 Wordfence GHSA-v4p8-57qj-v3xg
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Identify store not fronted by Cloudflare
  2. Delivery
    Submit guest checkout with malicious CF-IPCountry header
  3. Exploit
    Payload persisted into order post-meta
  4. Execution
    Admin opens order in wp-admin
  5. Persist
    Script executes in admin session
  6. Impact
    Hijack session / perform admin actions

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 attacker to control the CF-IPCountry HTTP request header during a WooCommerce guest checkout; the plugin writes this header value unsanitized into order post-meta and later renders it without output escaping. The primary limiting factor is header controllability: CF-IPCountry is normally set by Cloudflare, so an attacker can only plant an arbitrary value when the store is NOT behind Cloudflare (or where Cloudflare does not strip a client-supplied CF-IPCountry header). Additional prerequisites: guest checkout must be permitted (WooCommerce default) and a privileged user (store admin/staff) must subsequently view the injected order in wp-admin for the stored script to execute. No account or authentication is required to plant the payload.

Impact

This is a genuine but conditional risk rather than an emergency. The input CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2 High) indicates a remotely reachable, low-complexity, unauthenticated stored XSS whose scope-change (S:C) reflects payload execution in the context of whoever later views the order - typically a store administrator in wp-admin. No EPSS score, KEV entry, or public POC was provided in the intelligence set, so exploitation signals are weak: no public exploit identified at time of analysis and no evidence of active exploitation. The practical limiter is the injection vector itself - the CF-IPCountry HTTP header is normally populated by Cloudflare, so an attacker can only plant an arbitrary value where the store is NOT fronted by Cloudflare (or where a client-supplied CF-IPCountry header is not stripped/overwritten), which tempers the AC:L rating in real deployments. One signal tension to flag: the vector asserts UI:N, but exploitation realistically requires a privileged user (admin/staff) to open the injected order for the script to fire - verify whether victim interaction should raise effective user-interaction expectations. Overall: a legitimate stored-XSS admin-takeover vector worth patching promptly for exposed stores, but absent EPSS/KEV/POC it is not evidence of mass exploitation.

Exploit ScenarioDerived

An attacker performs a guest checkout on a vulnerable WooCommerce store while sending a crafted CF-IPCountry request header containing a JavaScript payload, which the plugin persists verbatim into the order's post-meta. When a store administrator later opens that order in the WordPress admin, the stored script executes in their authenticated session, enabling session/cookie theft or admin actions. No public exploit code was identified at time of analysis, and the header can typically only be spoofed when the store is not behind Cloudflare.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 17, 2026

Stored cross-site scripting in the European VAT Compliance Assistant for WooCommerce plugin (all versions through 1.36.10) allows unauthenticated attackers to plant arbitrary script by controlling the CF-IPCountry header during a guest checkout; the value is persisted verbatim in order post-meta and executes when a store administrator views the order in wp-admin. The main constraint is header controllability - CF-IPCountry is normally set by Cloudflare, so injection is practical only where the store is not behind Cloudflare or the edge does not overwrite client-supplied values - and a privileged user must subsequently open the affected order. No public exploit code or confirmed active exploitation has been identified at time of analysis, but the unauthenticated planting path and execution in the admin context warrant prompt patching.

RemediationAI

Upstream fix is available as plugin Trac changeset 3713548 (modifying trunk/record-order-details.php, diffed against 3676299), but a released patched version is not independently confirmed in the provided data, so verify the current plugin version on the WordPress.org plugin page and update beyond 1.36.10 as soon as a fixed release is listed. Until then, ensure the site is behind Cloudflare or another edge that overwrites client-supplied CF-IPCountry headers, or strip/reject inbound CF-IPCountry at the reverse proxy or WAF - the trade-off is that stores legitimately relying on client-provided geo headers for VAT logic may misclassify customers. If that cannot be done, disable WooCommerce guest checkout under Settings > Accounts & Privacy - the trade-off is reduced conversions and a changed checkout flow. Audit existing order post-meta for script content and review wp-admin order screens for injected markup; a wp-admin Content-Security-Policy can reduce execution but may break admin UI scripts. Monitor the Wordfence advisory and the Trac changeset for the patched release.

Affected VersionsENISA

European VAT Compliance Assistant for WooCommerce 0 ≤1.36.10

Affected Packages

euvd european_vat_compliance_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 uses the CF-IPCountry HTTP request header, a Cloudflare-supplied geolocation value, to determine a customer's VAT country during WooCommerce checkout. In record-order-details.php (lines 222 and 740) the header value is written into order post-meta without sanitization, and bootstrap.php (line 1779) wires the checkout/order-recording hooks; when an administrator or staff member later opens the order in wp-admin, the stored value is rendered without output escaping. This is CWE-79 (improper neutralization of input during web page generation), specifically stored XSS. The CPE cpe:2.3:a:davidanderson:european_vat_compliance_assistant_for_woocommerce:*:*:*:*:*:*:*:* covers the affected plugin through version 1.36.10. The independent assessment scores the issue CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, reflecting that a privileged user must view the order for the payload to fire; the published CVSS vector uses UI:N. The scope change (S:C) reflects that the injected script executes in the wp-admin origin with administrator privileges, beyond those of the unauthenticated attacker.

Know when European Vat Compliance 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 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Unauthenticated remote planting via guest checkout (PR:N, AV:N); UI:R because an admin must view the order to fire the script; S:C as execution occurs in the admin's browser context, with limited C/I and no availability impact.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The European VAT Compliance Assistant for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via CF-IPCountry Header in all versions up to, and including, 1.36.10 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 malicious header value is persisted verbatim into order post-meta during a guest checkout, meaning no account or authentication is required to plant the payload.

Executive ViewAI

Why It Matters

The European VAT Compliance Assistant for WooCommerce plugin (all versions through 1.36.10) allows stored script injection via the CF-IPCountry header during guest checkout, with execution when a store administrator opens the affected order in wp-admin. Because no vendor patch is available, store administrators remain exposed to session compromise and unauthorized administrative actions that could affect order integrity, customer data, and payment workflows. Leadership should treat this as a high-priority e-commerce administrative risk and authorize interim edge and access controls immediately.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include enforcing CF-IPCountry overwrite at the edge (e.g., Cloudflare Transform Rules), blocking or sanitizing client-supplied CF-IPCountry values via WAF, restricting wp-admin access to trusted networks, disabling the plugin where not essential, and auditing order post-meta for script content.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche EU-VAT tax plugin for WooCommerce, specialized merchant audience
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

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.

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