Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as contributor-level user
-
DeliveryInject script into unsanitized widget property
-
ExploitSave malicious post to store payload
-
ExecutionHigher-privileged user opens post in page builder editor
-
ImpactScript executes in victim's admin session
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 account with the WordPress contributor role or higher on a site running SiteOrigin Page Builder before 2.38.0, used to save a post whose widget property carries an unsanitized/unescaped payload. The payload only fires when a higher-privileged user (e.g. editor or administrator) opens that specific post in the page builder editor interface (UI:R) - it does not execute for the attacker or against unauthenticated visitors. Limiting factors: the vulnerable plugin and version must be installed, the attacker must already hold a contributor+ account (so sites that disable self-registration or tightly control contributor accounts are less exposed), and successful impact depends on a privileged victim actively opening the malicious post in the editor. |
| Impact | Signals point to a real but moderate, non-urgent issue rather than a high-priority emergency. The CVSS base score is 6.8 (medium). EPSS is very low at 0.17% (6th percentile), indicating little evidence of broad opportunistic exploitation attempts. The CVE is NOT listed in CISA KEV and no public exploit code is identified, so this is not confirmed active exploitation. The vuln.today decision label is 'this_month', consistent with a moderate-severity flaw that should be patched on a normal cycle rather than immediately. One important conflict must be flagged: the supplied CVSS vector states PR:H (high privileges required), but the description says the attacker only needs the contributor role - in WordPress, contributor is a LOW-privilege authenticated role, so PR:H appears overstated and PR:L would better reflect the described prerequisite; verify with the vendor/WPScan. The vector also requires UI:R (a higher-privileged victim must open the post in the editor), which further limits exploitation. Net assessment: a legitimate stored-XSS privilege-escalation path (contributor → admin session) that warrants patching, but low EPSS, no KEV, no PoC, and the victim-interaction requirement keep real-world risk modest. |
| Exploit ScenarioDerived | A contributor-level user crafts a post with the SiteOrigin Page Builder and places a malicious JavaScript payload in a widget property that the plugin fails to sanitize on storage or escape on output. When an editor or administrator later opens that post in the page builder editor interface, the stored script executes in their authenticated browser session, potentially leading to admin account or session takeover. No public exploit code is identified, and exploitation requires the higher-privileged victim to open the affected post (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in the Page Builder by SiteOrigin WordPress plugin before 2.38.0 lets an authenticated user holding the contributor role or higher save a widget property that is neither sanitized on storage nor escaped when the page builder interface renders it. The payload executes only when a higher-privileged user (editor or administrator) opens the affected post in the page builder editor, so it is a privilege-escalation-by-victim scenario rather than an attack on anonymous visitors. The vendor has released a fix in 2.38.0; EPSS is low at 0.17% (6th percentile), there is no CISA KEV entry, and no public exploit code was identified at time of analysis, which places this in a routine monthly maintenance cycle rather than an emergency response.
RemediationAI
Upgrade Page Builder by SiteOrigin to 2.38.0 or later - this is the vendor-released fix and the only complete remediation identified in the available data; patch availability is confirmed by the vendor and the WPScan advisory (https://wpscan.com/vulnerability/20bbee29-928f-4503-9cef-69f204441c8e/). Until the update can be applied during a normal monthly maintenance window (the decision label is this_month, EPSS is 0.17%, and there is no KEV listing), reduce exposure by tightening the contributor role: review existing contributor accounts, remove stale ones, and disable open self-registration if contributor-level access can be obtained that way. The trade-off is that this restricts normal editorial workflow for legitimate low-privileged authors, and it does not eliminate the flaw for anyone who legitimately holds contributor or higher - only the 2.38.0 upgrade does. Sites that cannot immediately update should prioritize the upgrade on installations where many users hold contributor+ access.
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 root cause is CWE-79 (improper neutralization of input during web page generation) applied in a stored/persistent context. SiteOrigin Page Builder stores widget configuration as post metadata; the vulnerable code path takes a widget property supplied by a low-privileged author and writes it to the database without sanitization, then emits it into the builder's editing UI without output encoding. Because the payload is rendered inside the administrative page-builder interface, the browser executes it in the security context of whichever privileged user opens that post - the standard stored-XSS trust-boundary crossing. The behavior depends on the WordPress role model: contributor is the lowest role that can create and save posts, so contributor+ capability is the gate. Our independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, treating the scope change and the requirement for the victim to actively open the post as the material constraints; the exploit path is not described in the available sources beyond the widget-property storage and rendering described above.
Know when WordPress 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 is a low-privilege authenticated role so PR:L (not PR:H); victim must open the post so UI:R; stored script runs in the victim's browser so S:C with limited C:L/I:L and no availability impact.
Primary rating from Vendor (wpscan).
CVSS VectorVendor: wpscan
Lifecycle Timeline
4DescriptionCVE.org
The Page Builder by SiteOrigin WordPress plugin before 2.38.0 does not sanitize or escape a widget property before storing it and outputting it in the page builder interface, which could allow users with the contributor role and above to perform Stored Cross-Site Scripting attacks against higher-privileged users who open the affected post in the editor.
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 mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The 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 GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
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
Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r
EUVD-2026-111710
GHSA-mc48-45x9-jh54
NVD
CVE.org
EPSS
Exploit-DB