Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated guest checkout gives PR:N/AV:N/AC:L; stored script runs in other users' browsers (S:C) with limited C:L/I:L and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The GTM4WP - A Google Tag Manager (GTM) plugin for WordPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via WooCommerce Billing Fields in all versions up to, and including, 1.22.3 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. This requires the GTM4WP WooCommerce order data integration option (GTM4WP_OPTION_INTEGRATE_WCORDERDATA) to be enabled, and is exploited by placing a guest checkout order with a JavaScript payload in a WooCommerce billing field such as the billing first name.
AnalysisAI
Stored cross-site scripting in the GTM4WP (Google Tag Manager for WordPress) plugin, versions up to and including 1.22.3, lets unauthenticated attackers persist arbitrary JavaScript through WooCommerce billing fields (e.g. billing first name) during a guest checkout. The script executes in the browser of any user who later loads a page rendering that order data, enabling session/cookie theft and admin-context actions. No public exploit has been identified at time of analysis and it is not listed in CISA KEV; exploitation is gated on the plugin's WooCommerce order-data integration option being enabled.
Technical ContextAI
GTM4WP (vendor duracelltomi, CPE cpe:2.3:a:duracelltomi:gtm4wp_-_a_google_tag_manager_(gtm)_plugin_for_wordpress) injects a Google Tag Manager dataLayer into WordPress pages, and its WooCommerce integration reflects order/customer attributes into that dataLayer for e-commerce tracking. The root cause is CWE-79 (improper neutralization of input during web page generation): billing field values supplied at checkout are written into the frontend output (see public/frontend.php around L1148 and integration/woocommerce.php L265/L664/L942) without sufficient sanitization on input or escaping on output, so a value like the billing first name is emitted into the page/JavaScript context verbatim. Because the tainted data is stored with the order and rendered later, it is a persistent (stored) XSS rather than reflected.
RemediationAI
Upgrade the plugin to GTM4WP 1.22.4 or later; the fix is confirmed by the WordPress.org changeset diffing tag 1.22.3 against 1.22.4 (https://plugins.trac.wordpress.org/changeset?old_path=%2Fduracelltomi-google-tag-manager/tags/1.22.3&new_path=%2Fduracelltomi-google-tag-manager/tags/1.22.4 and the frontend.php changeset https://plugins.trac.wordpress.org/changeset/3618063/duracelltomi-google-tag-manager/trunk/public/frontend.php), with details in the Wordfence advisory linked above. If immediate patching is not possible, disable the GTM4WP WooCommerce order data integration option (GTM4WP_OPTION_INTEGRATE_WCORDERDATA), which removes the vulnerable data path at the cost of losing WooCommerce order/customer data in the GTM dataLayer (breaking enhanced e-commerce tracking); as an additional layer, deploy a WAF/virtual-patch rule to block script-like payloads in WooCommerce billing fields and review existing orders for injected markup before it is rendered in the admin.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-50266
GHSA-x9cm-w8j6-hh5q