Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Contributor-level WP account
-
DeliveryInsert Google Maps block with malicious customStyle
-
ExploitPayload stored in post content
-
ExecutionVictim/admin views page
-
Persisteval() runs attacker JS in browser
-
ImpactSession hijack or admin action
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 | Requires an authenticated WordPress account with Contributor-level privileges or above on a site running Getwid - Gutenberg Blocks ≤2.1.3. The attacker must be able to add a Google Maps block and control its 'customStyle' attribute, which the frontend mapStyles() function evaluates via eval(). Exploitation is limited by this posting-account prerequisite (no unauthenticated path) but needs no special non-default configuration beyond the plugin being active; execution then triggers automatically whenever any user renders the injected page (no attacker-side user interaction, though a victim must view the page). |
| Impact | This is a stored XSS (CWE-79) rated CVSS 6.4 (Medium) with vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N. The signals are internally consistent: network vector, low complexity, but PR:L confirms exploitation requires an authenticated account with Contributor-level access or above - not an unauthenticated flaw. The scope change (S:C) and split C:L/I:L reflect script execution crossing from the injected page into the browser context of any user (potentially higher-privileged admins) who views it, which is the standard Wordfence scoring pattern for stored XSS. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so exploitation status is 'no public exploit identified at time of analysis.' Real-world priority is moderate and gated primarily by the Contributor-access prerequisite: sites that allow untrusted user registration at Contributor+ (multi-author blogs, membership sites) face meaningful risk, whereas single-author or tightly-controlled sites face little. The eval()-on-user-content root cause makes reliable exploitation trivial once an attacker has a posting account, but the auth gate keeps this well below a wormable/critical concern. |
| Exploit ScenarioDerived | An attacker registers or obtains a Contributor-level account on a WordPress site running Getwid ≤2.1.3, then inserts a Google Maps block and places a malicious payload in its 'customStyle' attribute, which the frontend mapStyles() function passes to eval(). When any visitor or administrator later views that page, the script executes in their browser, enabling session/cookie theft or actions in an admin's context. No public POC is referenced, but the vulnerable code path is documented in the plugin source (frontend.js#L4 and google-map.php#L139). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Stored cross-site scripting in the Getwid - Gutenberg Blocks WordPress plugin (all versions up to and including 2.1.3) allows authenticated attackers holding Contributor-level privileges or higher to inject arbitrary JavaScript through the Google Maps block's 'customStyle' attribute, because the frontend mapStyles() function passes that user-controlled value to eval(). The injected script is persisted in the post/block content and executes automatically in the browser of any visitor who renders the affected page, enabling session theft, content injection, or redirection under the site's origin (CVSS 6.4, Medium, with a Scope-Changed vector reflecting code execution outside the plugin's intended boundary). Exploitation requires a posting-capable account and no special non-default configuration; no public exploit code has been identified at time of analysis, and the issue is documented in a public Wordfence advisory.
RemediationAI
Update the Getwid - Gutenberg Blocks plugin to a version newer than 2.1.3 as soon as a patched release is available; the referenced plugin changeset 3514403 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3514403%40getwid&new=3514403%40getwid) corresponds to the upstream fix, but a specific patched version number is not independently confirmed in the available data, so verify the installed version against the vendor's release notes before relying on the update. If immediate updating is not possible, deactivate the plugin or at minimum stop using the Google Maps block on any site where Contributor-level or higher accounts exist, and note that deactivation removes all Getwid blocks from rendered pages (a visible functional trade-off). Review existing posts for Google Maps blocks with suspicious 'customStyle' values and remove them, and consider tightening roles so Contributor accounts are only granted where genuinely required, since that role is the exploitation prerequisite. A Content-Security-Policy that omits 'unsafe-eval' would neutralize the eval()-based payload but risks breaking legitimate theme or plugin scripts that depend on eval, so treat it as a supplementary rather than primary control. Vendor advisory: https://www.wordfence.com/threat-intel/vulnerabilities/id/a0db9693-df56-44d3-9167-c21e868c3f88?source=cve.
Affected VersionsENISA
Affected Packages
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
Getwid is a WordPress Gutenberg block library whose Google Maps block accepts a 'customStyle' attribute intended to let editors customize map styling, with server-side attribute handling in includes/blocks/google-map.php and client-side rendering in assets/blocks/map/frontend.js. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-Site Scripting): rather than parsing the style value as a JSON object or sanitizing it, the mapStyles() frontend function applies eval() directly to user-controlled block content (referenced lines frontend.js#L4 and google-map.php#L139 in both trunk and tag 2.1.3). Because the attribute is persisted with the post as block markup, the payload becomes stored content, and because eval() executes in the page's own JavaScript context, the CVSS vector is Scope-Changed (S:C) - the injected code runs with the privileges of the site origin rather than being contained to the map widget. The CPE cpe:2.3:a:jetmonsters:getwid_-_gutenberg_blocks identifies the vendor namespace (jetmonsters) with an open-ended version range, consistent with the advisory's statement that every release through 2.1.3 is affected.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Contributor account required so PR:L; stored payload needs no attacker interaction (UI:N); XSS crosses into victim browser context giving S:C with limited C:L/I:L and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Getwid - Gutenberg Blocks plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Google Maps block's 'customStyle' attribute in all versions up to, and including, 2.1.3. This is due to the use of eval() on user-controlled block content in the frontend JavaScript mapStyles() function. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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
EUVD-2026-85111
GHSA-pcjw-3vmf-w7jr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB