CVE-2026-18395 Overview
CVE-2026-18395 affects the Child Pages Card WordPress plugin in versions before 1.09. The plugin fails to sanitise and escape several shortcode attributes before rendering them in a page. Authenticated users with the contributor role or above can inject arbitrary JavaScript that executes when the affected page loads. This is a Stored Cross-Site Scripting (XSS) vulnerability rooted in improper output encoding of shortcode input.
Critical Impact
Contributor-level accounts can plant persistent JavaScript payloads that execute in the browsers of site visitors and administrators, enabling session theft, privilege escalation, and site defacement.
Affected Products
- Child Pages Card WordPress plugin versions prior to 1.09
- WordPress installations that expose contributor accounts to untrusted users
- Any site rendering the plugin's shortcodes on public-facing pages
Discovery Timeline
- 2026-08-06 - CVE-2026-18395 published to NVD
- 2026-08-06 - Last updated in NVD database
Technical Details for CVE-2026-18395
Vulnerability Analysis
The Child Pages Card plugin exposes shortcodes that accept user-supplied attributes for rendering child page cards. The plugin echoes several of these attribute values back into the HTML response without applying WordPress sanitisation helpers such as esc_attr() or esc_html(). A contributor can embed a shortcode containing a malicious attribute value in a draft or post. When the post is rendered, the injected payload executes in the visitor's browser under the site's origin.
Because WordPress requires contributor submissions to pass through an editor for publication, exploitation can also target administrators during the review workflow. Payloads may steal authentication cookies, forge administrative requests, or pivot to plugin and theme modifications.
Root Cause
The root cause is missing input sanitisation and output escaping on shortcode attributes. WordPress shortcode APIs pass attributes to the handler as raw strings. The handler must escape these values before concatenating them into HTML. In versions before 1.09, one or more attribute paths omit this step, producing a Cross-Site Scripting sink [CWE-79].
Attack Vector
An attacker requires a valid WordPress account with contributor privileges or higher. The attacker composes a post that includes the vulnerable shortcode with a crafted attribute containing HTML or JavaScript. Once the post is published or previewed by a privileged user, the payload executes. See the WPScan Vulnerability Report for technical details on the affected shortcode attributes.
Detection Methods for CVE-2026-18395
Indicators of Compromise
- Post or page content containing Child Pages Card shortcodes with <script>, on*= event handlers, or javascript: URIs in attribute values
- Unexpected outbound HTTP requests from browsers loading pages that use the plugin
- New administrative accounts, plugin installations, or theme edits following contributor activity
- Modified wp_posts rows with encoded payloads inside shortcode attributes
Detection Strategies
- Query the WordPress database for shortcode invocations of the plugin that contain suspicious characters such as <, ", or javascript: in attribute values
- Review edit and publish history for contributor accounts, correlating shortcode changes with subsequent admin sessions
- Deploy a web application firewall rule that flags shortcode attributes containing HTML control characters
Monitoring Recommendations
- Alert on contributor role assignments and role escalations in WordPress audit logs
- Monitor page render responses for inline script tags originating from post content
- Track plugin version inventory across managed WordPress sites to confirm the fixed release is deployed
How to Mitigate CVE-2026-18395
Immediate Actions Required
- Update the Child Pages Card plugin to version 1.09 or later on every WordPress instance
- Audit existing posts and pages for malicious shortcode attributes and remove or sanitise them
- Review contributor and author accounts, disabling any that are unused or untrusted
- Rotate administrator credentials if suspicious contributor activity is present in logs
Patch Information
The vendor addressed the issue in Child Pages Card version 1.09 by sanitising and escaping shortcode attributes before output. Refer to the WPScan Vulnerability Report for the fixed version reference.
Workarounds
- Deactivate the Child Pages Card plugin until the patched version can be applied
- Restrict the contributor role to trusted users only, or temporarily downgrade untrusted accounts to subscriber
- Deploy a WAF rule that blocks HTML tags and event-handler patterns inside shortcode attribute values
- Enable a Content Security Policy that disallows inline scripts on pages rendered by the plugin
# Update the plugin via WP-CLI
wp plugin update child-pages-card --version=1.09
wp plugin list --name=child-pages-card --fields=name,status,version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

