Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Contributor-level user
-
DeliveryInject script into tour hotspot content
-
ExploitPayload stored by plugin
-
ExecutionVictim views affected tour
-
ImpactScript executes in victim browser
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 an authenticated account with the Contributor role or higher on a site running the WPVR plugin before 9.0.3, plus the ability to create or edit a tour and add hotspot content (the specific feature whose content is not sanitised/escaped before storage and front-end output). Execution is not immediate: a victim must subsequently view the affected tour on the front end (UI:R), at which point the stored script runs in that viewer's browser. Limiting factors: no anonymous/unauthenticated path (a valid low-privilege account is needed), dependence on the tour-hotspot feature being used, and reliance on a victim actually loading the poisoned tour; impact is confined to the browser context of users who view it rather than the WordPress server itself. |
| Impact | This is a moderate-severity, authenticated Stored XSS (CWE-79) in the WPVR WordPress plugin, and the combined signals point to a managed rather than emergency priority. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H, base 6.8) is internally inconsistent with the description: it rates privileges as high (PR:H) while the description states the attacker only needs the Contributor role, which is a low-privilege authenticated role, and it rates confidentiality, integrity and availability as High (C:H/I:H/A:H) and scope Unchanged (S:U), which overstates a reflected-in-browser XSS whose real effect is a cross-context (scope-changing) impact of limited magnitude - treat the vendor base score as an upper bound and verify with WPScan/vendor. The EPSS score is low (0.21%, 10th percentile), there is no CISA KEV listing, and the referenced exploit is a WPScan advisory link that is not verified as working exploit code, so there is no evidence of active or widespread exploitation. The vuln.today decision label is 'this_month', consistent with a patch-this-cycle item rather than an act-now emergency. Net: a real but prioritizable issue - it requires an authenticated contributor account and a victim viewing the tour, which bounds real-world risk well below the 6.8 CVSS impression. |
| Exploit ScenarioDerived | An attacker who already holds a Contributor (or higher) account on a WPVR-enabled site - for example via self-registration or a compromised low-privilege account - injects a malicious script into the unsanitised hotspot content of a 360° tour. When any user, including an administrator, later views that tour on the front end, the stored script executes in their browser session. A public PoC reference exists (WPScan advisory); it is not verified as working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 24, 2026
Stored cross-site scripting in the WPVR WordPress plugin before 9.0.3 lets authenticated users with the Contributor role or higher plant script inside tour hotspot content, which then runs in the browser of anyone who later views the affected tour. The vulnerable code neither sanitises nor escapes that hotspot content on storage or on front-end output (CWE-79), so the payload persists in the tour and fires on view rather than at injection time. Exploitation requires a valid low-privilege account and use of the tour-hotspot feature, and impact is confined to the browsers of tour viewers rather than the WordPress server itself; a public PoC reference exists but is not verified as working exploit code, EPSS is low at 0.21% (10th percentile), and the item is not flagged for confirmed active exploitation (CISA KEV), consistent with a managed, this-month priority.
RemediationAI
Update the WPVR plugin to 9.0.3 or later; this is the vendor-released patch and the version at which the sanitisation and output-escaping gap in tour hotspot content is closed, per the WPScan advisory at https://wpscan.com/vulnerability/30409336-b8ed-49f7-bc40-96c21f494155/ and the NVD record at https://nvd.nist.gov/vuln/detail/CVE-2026-114429. Confirm the installed version from the plugin file header before and after the upgrade, since the CPE entry does not resolve the vendor and cannot be used to fingerprint affected installs, and re-check any existing tours with hotspot content after patching because previously stored payloads are not removed by the code fix. No workaround is documented in the available sources; the practical exposure is bounded by the fact that a valid Contributor-or-higher account and use of the tour-hotspot feature are prerequisites, so the urgency of the upgrade tracks how many such accounts the site grants.
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
The flaw is a classic CWE-79 improper-neutralisation issue split across two points in the data flow: the plugin fails to sanitise and escape tour hotspot content when it is written to the database, and it fails to escape it again when rendering that content on the front end. Because the malicious markup is persisted first and rendered later, the resulting script executes in the security context of the site's front end for every visitor who loads the poisoned tour, unlike a reflected XSS that requires the victim to follow a crafted link. Two conditions shape the practical risk: the attacker must already hold a Contributor-or-higher account and have the ability to create or edit a tour with hotspot content, and a victim must subsequently load the tour (assessed vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, scope-changed with low confidentiality and integrity impact). The public CPE entry is written with an unresolved vendor component (cpe:2.3:a:unknown:wpvr:*:*:*:*:*:*:*:*) and does not itself constrain the affected version range, so identification of affected installs relies on the plugin name and slug and on the vendor advisory; ENISA EUVD records the affected range as WPVR 8.5.49 through versions prior to 9.0.3.
Know when Wpvr 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:H/UI:R/S:U/C:H/I:H/A:H
Contributor-level account gives PR:L (not PR:H); victim must view the tour (UI:R); stored XSS runs in the viewer's browser context so S:C with limited C:L/I:L and no availability impact.
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
3DescriptionCVE.org
The WPVR WordPress plugin before 9.0.3 does not properly sanitise and escape some of its tour hotspot content before storing it and outputting it on the front end, which could allow users with the Contributor role and above to perform Stored Cross-Site Scripting attacks that execute in the browser of any user viewing the affected tour.
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.
The WPVR WordPress plugin before 9.0.3 does not perform object-level ownership checks when updating virtual tours, allo
The WPVR WordPress plugin before 9.0.3 does not perform object-level authorization checks when reading and updating vir
The WPVR WordPress plugin before 9.1.3 does not correctly check user capabilities when creating a tour through its setu
EUVD-2026-109218
GHSA-ghmr-rrgg-273r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB