Skip to main content

Kirki WordPress Plugin CVE-2026-112347

| EUVDEUVD-2026-113951 HIGH
Missing Authorization (CWE-862)
2026-10-30 VulnCheck GHSA-xmxv-2997-276g
7.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as Editor with Kirki edit access
  2. Exploit
    Send crafted PUT to /wp-json/kirki/v1/pages/{page_id}
  3. Execution
    Set unrestricted post_status on an unowned post
  4. Impact
    Expose private/draft content or unpublish/alter any post type

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated WordPress user whose role holds Kirki edit access - granted to the Editor role by default - on a site running Kirki plugin before 6.4.1 with its page REST API (PUT /wp-json/kirki/v1/pages/{page_id} and the save_page_data, duplicate, and delete handlers in PageController.php) reachable. No user interaction and no non-default configuration are needed because Editors receive the access out of the box. The limiting factor is the authentication barrier: the attacker must already hold an Editor-level (or equivalently Kirki-authorized) account, so this is not anonymously exploitable; the required privilege is the only effective constraint beyond having the vulnerable version installed. Updating to 6.4.1 removes the flaw.

Impact

This is a genuine but moderate-priority issue rather than an inflated high-CVSS finding. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 7.2 (High) and is network-reachable with low complexity, but PR:L is the decisive limiter: exploitation requires an authenticated account that has been granted Kirki edit access, which the description says is the Editor role by default - not an anonymous remote attacker. The dominant impact is integrity (VI:H): an Editor can alter title, slug, and publication status of any post, post type, or WooCommerce product they do not own; confidentiality (VC:L) and availability (VA:L) are secondary, covering exposure of private/draft content and removal of published content. The vuln.today Decision label is 'this_week', consistent with a real but non-emergency fix window. No CISA KEV listing is present, no EPSS probability was supplied, and there is no confirmed working exploit code - so there is no evidence of active or widespread exploitation. The missing EPSS score means automated exploitation likelihood cannot be weighed; treat the this_week label plus Editor-privilege requirement as the governing signals. Net: a real authorization flaw worth patching this week, most relevant on multi-author, membership, or WooCommerce sites where many semi-trusted users hold the Editor role.

Exploit ScenarioDerived

An attacker holding a WordPress Editor account (or any role granted Kirki edit access) on a site running Kirki before 6.4.1 sends a crafted PUT request to /wp-json/kirki/v1/pages/{page_id} referencing a post they do not own. Because the handler enforces only a coarse role-to-access middleware check and no per-object capability check, the attacker rewrites the unrestricted post_status to publish a private/draft post (exposing content) or unpublish/alter published posts, custom post types, or WooCommerce products. No public exploit code is identified at time of analysis; a VulnCheck advisory documents the flaw, and AV:N/AC:L make the network request itself trivial once authenticated.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Broken object-level access control in the Kirki plugin for WordPress before 6.4.1 lets any user who holds Kirki edit access - granted to the Editor role by default - rewrite the title, slug and post_status of arbitrary non-trashed posts, including custom post types and WooCommerce products they do not own, exposing private or draft content or silently unpublishing live content. The PUT /wp-json/kirki/v1/pages/{page_id} route and the save_page_data, duplicate and delete handlers in PageController.php apply only a coarse role-to-access middleware check and never perform a per-object WordPress capability check. Exploitation requires an authenticated account with Kirki edit access (CVSS vector PR:L); no public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the vendor has released 6.4.1, so remediation is prioritized for this week rather than treated as an emergency.

RemediationAI

Vendor-released patch: Kirki 6.4.1 - updating to that version removes the flaw, per the vendor changelog at https://wordpress.org/plugins/kirki/#developers, and is the only complete fix identified; schedule it within this week's patch cycle rather than as an emergency. Where the update cannot be applied immediately, the practical exposure reducer is to narrow who holds Kirki edit access, since the default grant to the Editor role is what makes the missing per-object check reachable; the trade-off is that Editors lose the plugin's page-building and customizer management capability until the update lands. No further workaround is stated in the available sources.

Affected VersionsENISA

Kirki 0 <6.4.1

Affected Packages

euvd kirki fix: 6.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Kirki is a WordPress plugin that supplies a customizer/theme-options framework plus a companion REST surface for managing its own "pages"; the affected code lives in PageController.php, registered under the /wp-json/kirki/v1/pages namespace. The root cause class is CWE-862 (Missing Authorization): the controller checks only that the caller's role maps to Kirki edit access through a coarse middleware gate, then operates directly on the page_id supplied in the request path or body without calling WordPress object-level capability functions such as current_user_can( 'edit_post', $id ) or the corresponding delete/publish checks. Because the post_status field is passed through unrestricted, a caller can move any non-trashed object - standard posts, pages, custom post types and WooCommerce products - between draft, private and published states, or alter its title and slug. The vendor CPE cpe:2.3:a:themeum:kirki covers all releases before the 6.4.1 fix; the public CNA scoring is CVSS:4.0 7.2 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L), while the internally assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L) agrees on the shape of the issue: high integrity impact, limited confidentiality and availability impact, network reachable, and gated only by a low-privileged authenticated account.

Know when Kirki gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.6 HIGH

Authenticated Editor-level Kirki access gives PR:L over a low-complexity network REST route (AV:N/AC:L); integrity is high since any post's status/title/slug can be altered, while confidentiality and availability are only partial.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Kirki plugin for WordPress before 6.4.1 contains a broken object-level access control vulnerability in its page REST API, where the PUT /wp-json/kirki/v1/pages/{page_id} route and the save_page_data, duplicate, and delete handlers in PageController.php rely only on a coarse role-to-access middleware check without performing a per-object WordPress capability check. A user with Kirki edit access, granted to the Editor role by default, can exploit this flaw to modify the title, slug, and publication status of any non-trashed post of any post type, including custom post types and WooCommerce products they do not own, exposing private or draft content or removing published content by manipulating the unrestricted post_status field.

Executive ViewAI

Why It Matters

The Kirki plugin for WordPress, used on your public-facing websites, contains a high-severity access control flaw (CVE-2026-112347) that allows any Editor-level user to modify or unpublish arbitrary content, including private drafts and WooCommerce products. This affects content integrity and could lead to data exposure or business disruption, particularly for e-commerce operations, but requires an authenticated account and no active exploitation has been observed.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular WordPress customizer/theme toolkit plugin, broad but not universal install base
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Kirki

View all
CVE-2026-13147 CRITICAL POC
9.1 Jul 20

Server-Side Request Forgery in the Kirki WordPress plugin before 6.0.12 allows unauthenticated attackers to coerce the s

CVE-2026-12721 HIGH POC
8.6 Jul 31

SQL injection in the Kirki WordPress plugin before version 6.0.13 enables unauthenticated remote attackers to read arbit

CVE-2026-57727 HIGH POC
7.5 Jul 13

Broken access control in the Themeum Kirki WordPress customizer framework (versions up to and including 6.0.13) allows r

CVE-2026-12720 HIGH POC
7.5 Jul 31

PHP Object Injection in the Kirki WordPress plugin before 6.0.13 enables a two-stage attack where unauthenticated users

CVE-2026-84219 HIGH POC
7.5 Sep 06

Stored cross-site scripting in the Kirki WordPress plugin before 6.3.0 allows unauthenticated remote attackers to persis

CVE-2026-74992 MEDIUM POC
6.8 Aug 20

Arbitrary file upload via malformed archive in the Kirki WordPress customizer plugin (all versions before 6.2.3) allows

CVE-2026-84223 MEDIUM POC
6.8 Sep 20

Stored cross-site scripting in the Kirki WordPress plugin affects versions 6.0.0 through 6.3.0, which allow SVG files to

CVE-2026-84221 MEDIUM POC
6.8 Sep 05

SQL injection in the Kirki WordPress plugin (versions 6.0.0 through <6.3.0) enables authenticated users with editor-leve

CVE-2026-16747 MEDIUM POC
6.5 Aug 12

Unauthenticated shortcode injection in Kirki WordPress plugin (all versions before 6.2.1) allows any remote attacker to

CVE-2026-57724 CRITICAL
9.8 Jul 13

Object injection in the Themeum Kirki WordPress customizer framework (all versions through 6.0.12) allows attackers to a

CVE-2026-57726 CRITICAL
9.3 Jul 13

Blind SQL injection in the Themeum Kirki WordPress customizer framework (all versions up to and including 6.0.12) lets r

CVE-2026-77754 MEDIUM POC
5.3 Aug 26

Kirki WordPress Customizer Framework plugin before 6.0.14 exposes registered user email addresses, comment author emails

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy