Description
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 6.3.1 This is due to the plugin substituting a user's `display_name` into the composed page markup unfiltered and then running the whole result through `do_shortcode()` in `TheFrontend::replace_content()`. Because `display_name` is writable by any user on their own account through the core profile form, this makes it possible for authenticated attackers with Subscriber-level access and above to execute arbitrary shortcodes. Where the page is a users collection — an ordinary team or member-directory page — the shortcode runs in the request of every visitor, including unauthenticated ones. Requires a published page with a Kirki element whose dynamic content is bound to the `display_name` user field.
Published: 2026-10-10
Score: 5.4 Medium
EPSS: n/a
KEV: No
Impact: Code execution via arbitrary shortcodes
Action: Patch
AI Analysis

Impact

The Kirki plugin performs an unfiltered substitution of a user's display_name into page markup and then passes the entire result to WordPress's do_shortcode() function. Because the display_name field can be edited by any user on their own profile, authenticated users with the Subscriber role or higher can insert any shortcode they choose. If a page contains a Kirki element bound to display_name, the attacker’s shortcode runs in the context of the page request, potentially allowing code execution or other malicious actions on the site. The CVSS score of 5.4 indicates a moderate severity for this authenticated flaw.

Affected Systems

The vulnerability affects the themeum Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress in all releases up to and including version 6.3.1. The issue is present only on sites that have published pages containing a Kirki element bound to the user display_name field.

Risk and Exploitability

The CVSS score of 5.4 reflects a moderate risk, and the lack of EPSS data means the likelihood of exploitation is currently unknown. The vulnerability is not listed in the CISA KEV catalog. An attacker needs Subscriber-level or higher authenticated access to inject the malicious shortcode. Once injected, the shortcode will be executed for every visitor to the page, including unauthenticated users, which elevates the potential impact to widespread compromise if the attacker chooses a shortcode that performs server-side actions or leaks sensitive data.

Generated by OpenCVE AI on October 10, 2026 at 09:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Kirki plugin to version 6.3.2 or newer to remove the unfiltered display_name substitution.
  • After upgrading, audit all published pages that use a Kirki element bound to display_name and remove or sanitize any dynamic content that could be used to inject shortcodes.
  • Restrict the ability of subscribers or non-admin users to edit their display_name, or sanitize the display_name field to remove shortcodes before rendering.

Generated by OpenCVE AI on October 10, 2026 at 09:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 10 Oct 2026 08:00:00 +0000

Type Values Removed Values Added
Description The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 6.3.1 This is due to the plugin substituting a user's `display_name` into the composed page markup unfiltered and then running the whole result through `do_shortcode()` in `TheFrontend::replace_content()`. Because `display_name` is writable by any user on their own account through the core profile form, this makes it possible for authenticated attackers with Subscriber-level access and above to execute arbitrary shortcodes. Where the page is a users collection — an ordinary team or member-directory page — the shortcode runs in the request of every visitor, including unauthenticated ones. Requires a published page with a Kirki element whose dynamic content is bound to the `display_name` user field.
Title Kirki – Freeform Page Builder, Website Builder & Customizer <= 6.3.1 - Authenticated (Subscriber+) Arbitrary Shortcode Execution via 'display_name'
Weaknesses CWE-74
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-10T07:41:47.748Z

Reserved: 2026-09-28T20:34:15.636Z

Link: CVE-2026-102291

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-10T08:17:03.490

Modified: 2026-10-10T08:17:03.490

Link: CVE-2026-102291

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-10T10:00:14Z

Weaknesses
  • CWE-74

    Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')