CVE-2026-15233 Overview
CVE-2026-15233 is a stored Cross-Site Scripting (XSS) vulnerability in the Nested Pages WordPress plugin before version 3.2.15. The plugin fails to escape post titles before rendering them into HTML attributes on an administrative listing screen. Authenticated users with the Editor role can inject arbitrary JavaScript through crafted post titles. Contributor and Author roles can also exploit the flaw when Nested Pages is enabled for their post type. The injected script executes in the browser session of any higher-privileged user, including administrators, who views the affected screen. The issue is tracked under CWE-79 and carries a CVSS 3.1 score of 4.8.
Critical Impact
Authenticated low- to mid-privileged users can hijack administrator sessions through injected JavaScript, enabling account takeover and further site compromise.
Affected Products
- Nested Pages WordPress plugin versions prior to 3.2.15
- WordPress installations where lower-privileged roles can create posts under types managed by Nested Pages
- WordPress administrative dashboards accessed by users with Editor role or higher
Discovery Timeline
- 2026-08-04 - CVE-2026-15233 published to NVD
- 2026-08-04 - Last updated in NVD database
Technical Details for CVE-2026-15233
Vulnerability Analysis
The Nested Pages plugin provides a drag-and-drop administrative interface for managing WordPress page hierarchies. On its listing screen, the plugin outputs the raw post title into an HTML attribute context without applying attribute-safe escaping. An attacker who can create or edit posts submits a title containing HTML attribute-breaking characters and a JavaScript payload. When an administrator loads the Nested Pages screen, the browser parses the malformed attribute and executes the attacker's script under the administrator's authenticated session.
Exploitation requires an authenticated account with post-creation rights. The Editor role is sufficient by default. Contributor and Author roles can also inject payloads when Nested Pages is enabled for the post types they can access. Because the payload persists in the database, the vulnerability qualifies as stored XSS rather than reflected.
Root Cause
The defect stems from missing output encoding in the administrative listing template. Post titles are concatenated into an HTML attribute value without a call to esc_attr() or an equivalent WordPress escaping function. WordPress core does not sanitize post titles for HTML attribute contexts on read, placing the escaping responsibility on the plugin. See CWE-79: Improper Neutralization of Input During Web Page Generation for the underlying weakness pattern.
Attack Vector
An attacker with an Editor, Author, or Contributor account creates or edits a post and sets the title to a payload that breaks out of the surrounding attribute quote and introduces an event handler such as onmouseover or onerror. The payload is stored in wp_posts. When any user with access to the Nested Pages listing screen loads the page, the browser executes the script with that user's privileges. A successful payload against an administrator can create new admin users, exfiltrate nonces, or install malicious plugins. See the WPScan Vulnerability Report for reference details.
Detection Methods for CVE-2026-15233
Indicators of Compromise
- Post titles in wp_posts containing HTML characters such as ", <, >, or event handler substrings like onerror=, onmouseover=, or onload=
- Unexpected administrator accounts created shortly after an Editor, Author, or Contributor logged into the admin dashboard
- Outbound HTTP requests from administrator browsers to unfamiliar domains sourced from /wp-admin/ pages
- New or modified plugins and themes installed without a corresponding administrator action in audit logs
Detection Strategies
- Query the WordPress database for post titles matching regular expressions targeting HTML attribute breakouts and JavaScript event handlers
- Monitor WordPress audit logs for privilege changes, user creation, and plugin installation events originating from admin sessions
- Inspect web server access logs for requests to Nested Pages admin screens followed by anomalous administrative actions
Monitoring Recommendations
- Enable a Content Security Policy (CSP) in report-only mode on /wp-admin/ and review script-src violations
- Alert on modifications to the wp_users and wp_usermeta tables outside normal change windows
- Track plugin version inventory to identify sites running Nested Pages below 3.2.15
How to Mitigate CVE-2026-15233
Immediate Actions Required
- Update the Nested Pages plugin to version 3.2.15 or later on every affected WordPress site
- Audit existing post titles for suspicious HTML or JavaScript content and sanitize or remove offending entries
- Review administrator accounts and recently installed plugins for unauthorized additions
- Rotate credentials and WordPress salts if evidence of administrator session hijacking exists
Patch Information
The vendor addressed the flaw in Nested Pages 3.2.15 by applying proper attribute escaping to post titles rendered on the administrative listing screen. Refer to the WPScan Vulnerability Report for the vendor advisory and fixed version details.
Workarounds
- Restrict Editor, Author, and Contributor roles to trusted users until the patch is applied
- Disable the Nested Pages plugin on production sites where an immediate upgrade is not feasible
- Limit Nested Pages coverage to post types accessible only to Administrator-level users
# Update Nested Pages via WP-CLI
wp plugin update wp-nested-pages --version=3.2.15
wp plugin list --name=wp-nested-pages --fields=name,status,version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

