Skip to main content

GTM Server Side EUVDEUVD-2026-108976

| CVE-2026-55826 HIGH
Information Exposure (CWE-200)
2026-10-23 GitHub_M
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Enumerate sequential WooCommerce order IDs
  2. Exploit
    Set gtm_server_side_order_id cookie to target ID
  3. Execution
    Load any page on the site
  4. Impact
    Read victim order data and PII from dataLayer

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

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

Exploitation Conditions

WooCommerce must be installed and active and the plugin's 'Ecommerce' dataLayer feature must be enabled; this is the core prerequisite. In versions 2.0.0-2.1.46 the primary trigger is direct manipulation of the unauthenticated, integrity-free client-side gtm_server_side_order_id cookie set to any valid (sequential, easily enumerated) order ID, after which the purchase event renders on any page because the is_wc_endpoint_url('order-received') guard was commented out. Full PII exposure (customer name, email, billing address, new/returning status) additionally requires the plugin's 'User Data' option to be enabled; without it, exposure is limited to non-PII order/transaction fields. In version 2.1.47 the direct cookie vector is closed (order ID moved to WC()->session), so residual exposure is limited to deployments running a full-page caching plugin (e.g., WP Rocket, LiteSpeed Cache, W3 Total Cache) that can cache and replay a legitimate purchase dataLayer to later visitors. Version 2.1.48 removes all of these conditions.

Impact

Signals are moderately strong but not emergency-grade. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N, VC:H) correctly reflects a remotely reachable, unauthenticated confidentiality breach with no user interaction, yielding the published 8.7. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a serious-but-not-wormable information-disclosure flaw. No EPSS score was provided, and the CVE is NOT in CISA KEV, so there is no evidence of active exploitation. A detailed reproduction PoC is published inside the GHSA advisory, but the input does not mark it as confirmed working exploit code. The flaw is real and easy to trigger (sequential, enumerable order IDs; a client-settable cookie with no integrity protection in versions 2.0.0-2.1.46), which argues for prompt patching; however, impact is bounded to confidentiality of WooCommerce order data (I and A are N), and exploitation is gated on specific plugin/feature configuration. Net: a genuine priority for affected WooCommerce sites, but not a drop-everything event absent KEV or EPSS corroboration. One data conflict to verify: the package-metadata line states 'fixed in >= 2.1.47,' while the vendor GHSA advisory explicitly states 2.1.47 is only a partial fix and 2.1.48 is the first fully remediated release - treat 2.1.48 as the fixed version.

Exploit ScenarioDerived

On a vulnerable site (plugin 2.0.0-2.1.46 with WooCommerce and the Ecommerce dataLayer feature active), an unauthenticated attacker sets the client-side gtm_server_side_order_id cookie to a guessed sequential order ID, loads any page, and reads the targeted customer's full purchase dataLayer - including name, email, and billing address when the 'User Data' option is enabled. A step-by-step public PoC reference exists in the GHSA advisory (it is not verified as working exploit code). On 2.1.47 sites, the residual risk shifts to full-page caching plugins inadvertently caching and replaying a real customer's purchase dataLayer to later anonymous visitors.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Unauthenticated visitors to WordPress sites running the GTM Server Side plugin (stape.io, also published as Stape Conversion Tracking) versions 2.0.0 through 2.1.46 can cause another customer's complete WooCommerce order record - transaction ID, items, value, shipping and, when the plugin's 'User Data' option is enabled, name, email and billing address - to be rendered into the page's JavaScript dataLayer simply by setting the gtm_server_side_order_id cookie to an enumerable, sequential order ID and loading any page of the site. The root cause is that the guard restricting purchase-event output to the WooCommerce order-received endpoint was commented out, so the wp_footer hook trusts an integrity-free client-side value; version 2.1.47 moved the order ID into WC()->session and closed the direct cookie manipulation path, but full remediation only arrived in 2.1.48, which adds a once-per-order sent flag to stop full-page caching plugins replaying a legitimate purchase event to later anonymous visitors. CVSS 4.0 scores this 8.7 (AV:N/AC:L/PR:N/UI:N/VC:H) and the practical prerequisite is WooCommerce plus the 'Ecommerce' dataLayer feature being enabled; a public proof-of-concept reproduction procedure is documented in the GitHub advisory, though it is not verified as working exploit code, and no confirmed active exploitation (CISA KEV) is indicated. Priority is set to this_week rather than emergency because exploitation depends on that configuration prerequisite and yields read-only disclosure.

RemediationAI

Vendor-released patch: update the GTM Server Side plugin to version 2.1.48 or later, available from https://github.com/stape-io/gtm-server-side-wordpress-plugin/releases/tag/2.1.48; the session-migration and once-only order-meta fix is in commit https://github.com/stape-io/gtm-server-side-wordpress-plugin/commit/9ff46a050028c40fad5416f2fa35be574c823434. Do not treat 2.1.47 as sufficient: it only migrates the order ID from the gtm_server_side_order_id cookie into WC()->session and leaves the any-page emission and cache-replay risk in place, so sites already on 2.1.47 still need 2.1.48. After updating, purge all full-page caches (WP Rocket, LiteSpeed Cache, W3 Total Cache and similar) immediately, because cached pages may still carry a previously rendered purchase dataLayer, and review cached or logged pages for exposed customer data if caching was active during the vulnerable period. If the 'User Data' option was enabled, review WooCommerce order logs for suspicious access patterns and assess breach-notification obligations under GDPR, CCPA or similar regimes. If updating is not immediately possible, the only exposure-limiting option supported by the available evidence is disabling the plugin's 'Ecommerce' dataLayer feature (which stops both the order dataLayer emission and purchase tracking generally), or deactivating WooCommerce purchase-event tracking for the plugin; no other vendor-stated workaround exists.

Affected VersionsENISA

gtm-server-side-wordpress-plugin 2.0.0, < 2.1.48

Affected Packages

euvd gtm_server_side_wordpress_plugin fix: 2.1.48

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 hooks WordPress's wp_footer action through includes/class-gtm-server-side-event-purchase.php to emit a WooCommerce 'purchase' ecommerce event into the GTM dataLayer. To avoid pushing the same purchase twice it stored the most recent order ID in a client-side cookie named gtm_server_side_order_id (introduced in 2.0.0), and the footer routine read that value, fetched the matching order from the database and printed the full event - including, when the 'User Data' setting is on, customer name, email, billing address and new/returning status - into an inline script. The code that would have confined this to the order confirmation page, a call to is_wc_endpoint_url('order-received'), was left commented out, so the emission happened on every page of the site. Because the cookie carries no integrity protection and WooCommerce order IDs are sequential integers, an anonymous actor can enumerate IDs and force disclosure of arbitrary orders; this is tracked as CWE-200 exposure of sensitive information. The 2.1.47 change moved the order ID from the cookie to server-side WC()->session, defeating cookie stuffing, but because the hook still fired on any page and no deduplication existed, a full-page caching plugin (WP Rocket, LiteSpeed Cache, W3 Total Cache) could persist a legitimate purchase dataLayer in the page cache and serve it to subsequent anonymous visitors. The 2.1.48 commit adds WC()->session null-guards, immediately unsets the session key after reading it, and introduces a _gtm_server_side_order_sent order meta flag that permanently marks an order as emitted, closing both the direct manipulation and the cache-replay vectors.

Know when 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 (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote, unauthenticated, no user interaction (settable cookie, enumerable order IDs) gives AV:N/AC:L/PR:N/UI:N; impact is confidentiality-only disclosure of customer PII, so C:H, I:N, A:N, S:U.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 23, 2026 - 14:02 EUVD
CVE Published
Oct 23, 2026 - 13:27 cve.org
HIGH 8.7

DescriptionCVE.org

The GTM Server Side plugin by stape.io implements server-side tracking on WordPress websites. From version 2.0.0 to before version 2.1.48, the WooCommerce purchase event tracking mechanism allows an unauthenticated attacker to trigger the rendering of another customer's full order data - including personally identifiable information (PII) - into the page's JavaScript dataLayer. This issue has been patched in version 2.1.48.

Technical POC Analysis

CWE-200 (Exposure of Sensitive Information).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The GTM Server Side plugin for WordPress, used on WooCommerce sites, exposes complete customer order records-including names, emails, billing addresses, and transaction details-to any unauthenticated visitor who sets a simple cookie. This affects all customers whose orders are stored on sites running vulnerable versions (2.0.0-2.1.46), potentially leading to widespread privacy breaches, regulatory non-compliance (e.g., GDPR, CCPA), and reputational damage. Leadership should prioritize immediate patching and assess whether any data has already been exfiltrated.

Business Impact: High
Compensating Controls

Apply vendor patch (version 2.1.48 or later).

Threat Intelligence Overview

EPSS Score
0.6%
Top 52% exploitable
Prevalence
Medium
WooCommerce server-side tracking plugin, moderate WordPress/e-commerce install base
Data Quality
4 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.6%
Patch available Yes
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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2017-17058 HIGH POC
7.5 Nov 29

The WooCommerce plugin through 3.x for WordPress has a Directory Traversal Vulnerability via a /wp-content/plugins/wooco

CVE-2025-13773 CRITICAL POC
9.8 Dec 24

Unauthenticated remote code execution in Print Invoice & Delivery Notes for WooCommerce through 5.8.0 lets remote attack

CVE-2026-18143 CRITICAL POC
9.8 Sep 26

Unauthenticated arbitrary file upload in Addify's Request a Quote for WooCommerce plugin, affecting all versions up to a

CVE-2021-24212 CRITICAL POC
9.8 Apr 05

The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allo

CVE-2022-50972 CRITICAL POC
9.3 Jun 20

WooCommerce 7.1.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary PHP code by

CVE-2025-10162 HIGH POC
8.6 Oct 07

Unauthenticated path traversal in OrderConvo (the "Admin and Customer Messages After Order for WooCommerce" plugin), aff

CVE-2026-81649 CRITICAL POC
9.1 Oct 11

Unauthenticated remote attackers can seize control of the payment configuration on WordPress stores running the Fundiin

CVE-2020-35627 HIGH POC
8.8 Dec 28

Ultimate WooCommerce Gift Cards 3.0.2 is affected by a file upload vulnerability in the Custom GiftCard Template that ca

CVE-2026-103307 HIGH POC
8.6 Oct 14

Unauthenticated attackers can exploit the Walletdoc Payment Gateway for WooCommerce plugin before version 1.8.5 to execu

CVE-2026-14962 HIGH POC
8.6 Sep 09

Unauthenticated SQL injection in the ELEX WooCommerce Request a Quote WordPress plugin (all versions before 2.4.1) allow

CVE-2026-92404 HIGH POC
7.5 Sep 19

Unauthenticated, network-reachable attackers can read the WooCommerce API consumer key and secret stored by the MgoSync

CVE-2023-34000 HIGH POC
7.5 Jun 14

Unauth. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low atta

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