CVE-2026-14472: Kubio AI Page Builder <= 2.8.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via kubio/copyright Block Content

Published Sep 18, 2026
·
Updated

The Kubio AI Page Builder plugin for WordPress is vulnerable to Stored Cross-Site Scripting via kubio/copyright Block Content in all versions up to, and including, 2.8.4 due to insufficient input sanitization and output escaping. 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. This bypasses both the WordPress core kses-on-save filter and the plugin's own wpksespost() call, because entity-encoded script tags are treated as inert text by kses but are decoded into live HTML by the subsequent htmlentitydecode() call in CopyrightBlock::rendertemplate().

Affected Software

1 affected component
Kubio AI Page Builder<=2.8.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade WordPress plugin: Kubio AI Page Builder to a version that resolves this vulnerability.

    Fixed in 2.8.4
  2. Compensating control

    Restrict contributor-level (authenticated) accounts’ ability to edit pages that use Kubio AI Page Builder (e.g., limit the Contributor+ role or access to the page builder) until the plugin is remediated to reduce risk of stored XSS payloads executing for users.

Event History

Sep 18, 2026
CVE Published
via MITRE·07:40 AM
Data Sourced
via MITRE·07:40 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

An attacker needs an authenticated WordPress account with Contributor-level permissions or higher. They must be able to add malicious content to a page using the kubio/copyright block.

2

When does the injected script execute?

The malicious script is stored in page content and executes when a user accesses the affected page. No additional interaction is required beyond viewing that page.

3

Why do normal WordPress content filters not prevent this payload?

Entity-encoded script tags pass the WordPress kses-on-save filtering and the plugin's wp_kses_post() processing as inert text. The plugin later decodes those entities with html_entity_decode() during CopyrightBlock::render_template(), turning them into executable HTML.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203