CVE-2026-102291
MediumCVSS 5.4Exploitation Probability (EPSS)
Low risk21th percentile - higher than 21% of all known CVEs
Summary
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().
Risk Assessment
An authenticated attacker with Subscriber-level access or above can execute arbitrary shortcodes that run in the request of every visitor, including unauthenticated ones. This can lead to data disclosure or unauthorized actions.
Recommendation
Update the Kirki plugin to a version newer than 6.3.1 as soon as it is available, and consider restricting profile editing capabilities for subscribers.
Other vulnerabilities in Kirki
See all- CVE-2026-13147Critical
The Kirki WordPress plugin before version 6.0.12 does not validate a user-supplied URL before requesting it server-side, allowing unauthenticated attackers to make the site issue HTTP requests to arbitrary hosts (Server-Side Request Forgery).
- CVE-2026-57726Critical
The Kirki plugin for WordPress contains a Blind SQL Injection vulnerability in versions up to and including 6.0.12. The issue is due to improper neutralization of special elements used in SQL commands.
- CVE-2026-57724Critical
The Kirki WordPress plugin contains a deserialization of untrusted data vulnerability allowing object injection. This affects versions up to and including 6.0.12.
- CVE-2026-112348Medium
The Kirki plugin for WordPress before 6.2.5 contains a reCAPTCHA bypass vulnerability. Unauthenticated attackers can submit frontend forms without valid verification by omitting the g-recaptcha-token field in POST requests, because the verify() method returns early on empty token values.
- CVE-2026-42694Medium
The Kirki WordPress plugin in versions up to 6.4.0 contains an Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) vulnerability that allows code injection. The issue affects versions from n/a through 6.4.0.
- CVE-2026-107762High
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress in versions up to and including 6.3.2 is vulnerable to Insecure Direct Object Reference via the 'context' parameter due to missing validation on a user-controlled key. This allows unauthenticated attackers to expose arbitrary users' sensitive profile data, including email address, display name, registration date, profile image URL, and user meta fields.
- CVE-2026-104734High
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress in versions up to and including 6.3.2 is vulnerable to PHP Object Injection via deserialization of untrusted input. This allows authenticated attackers with administrator-level access and above to inject a PHP Object; by default, Editor-level users are granted FULL_ACCESS to the plugin's import endpoint.
- CVE-2026-14572Medium
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Page Builder Text Content in all versions up to, and including, 6.2.0 due to insufficient input sanitization and output escaping.
- CVE-2026-103065High
Improper validation of specified quantity in input in Kirki up to version 6.3.1. Allows accessing functionality not properly constrained by ACLs.
- CVE-2026-84225Low
The Kirki WordPress plugin before version 6.3.0 does not check that a user is allowed to act on a collaboration comment before changing its state, allowing users whom an administrator has granted content-level access to the page builder to modify comments left by other users, including on pages they cannot themselves open.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

