Skip to main content

Kirki CVE-2026-104734

| EUVDEUVD-2026-103214 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-17 Wordfence
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as Editor/Administrator
  2. Delivery
    Access template import AJAX endpoint
  3. Exploit
    Submit serialized malicious payload
  4. Execution
    Object deserialized and instantiated
  5. Persist
    POP chain in another plugin triggered
  6. Impact
    File deletion, data theft, or code execution

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires an authenticated session with access to the plugin's template import AJAX endpoint (includes/Ajax/TemplateExportImport.php → ExportImport/TemplateImport.php deserialization path). The input CVSS encodes PR:H (administrator-level), but the description states that by default Editor-level users are granted FULL_ACCESS via the KIRKI_USERS_DEFAULT_FULL_ACCESS configuration, so Editor privilege is sufficient unless that default is changed. The decisive limiting factor is that Kirki contains NO POP chain of its own: the vulnerability has no security impact unless a separate plugin or theme that provides a usable POP gadget chain is also installed on the target site. No user interaction is needed beyond the attacker's own authenticated request (UI:N). Effective exploitation therefore depends on (a) attacker holding at least Editor role, and (b) a POP-chain-bearing extension being present.

Impact

This is a conditional, privilege-gated PHP Object Injection (CWE-502) flaw whose raw CVSS 3.1 base score of 7.2 (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H) overstates immediate real-world risk. Three signals pull the practical priority down: (1) no public exploit identified at time of analysis - no POC provided and the CVE is not in CISA KEV, so there is no confirmed-actively-exploited status; (2) the Wordfence description explicitly states there is NO known POP chain in the vulnerable plugin itself, meaning the bug has NO impact in isolation and only becomes dangerous if a separate plugin or theme supplying a usable POP chain is also installed; and (3) the CVSS vector encodes PR:H (authenticated, high privilege), so an attacker must already hold an elevated WordPress role. Two signals push risk up: the description notes that by default Editor-level users receive FULL_ACCESS to the import endpoint via the KIRKI_USERS_DEFAULT_FULL_ACCESS configuration, so the real authentication bar is Editor rather than Administrator - a conflict with the PR:H assigned in the input vector, which should be flagged to defenders (per CVSS the vector says PR:H/authenticated, but the description implies PR:L/Editor is sufficient in default configuration - verify against the plugin's role mapping). Combined with S:U (no scope change) and the dependency on third-party POP chains, this reads as a high-CVSS but context-dependent issue: a meaningful hardening target on sites that grant Editor access to semi-trusted users AND run POP-chain-bearing plugins, but not a drop-everything emergency absent exploitation evidence. EPSS was not provided in the input and cannot be cited.

Exploit ScenarioDerived

An authenticated user with Editor-level access (granted FULL_ACCESS to the import endpoint by default) submits a crafted template-import payload to the plugin's AJAX TemplateExportImport endpoint, where untrusted input is deserialized, instantiating an attacker-controlled PHP object. If another installed plugin or theme provides a usable POP (property-oriented programming) gadget chain, the injected object triggers it during destruction/execution to delete files, read sensitive data, or run code. No public exploit code was identified at time of analysis, and the attack is inert on a site that has no POP chain available.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 17, 2026

PHP Object Injection in the Kirki WordPress plugin through 6.3.2 allows an authenticated Editor-level user to submit serialized data to the template import endpoint, but real impact is conditional on another installed plugin or theme providing a usable POP chain. Kirki itself contains no gadget chain, so the flaw alone does not enable file deletion, data theft, or code execution; the supplied 7.2 score overstates immediate risk, and no public exploit was identified at time of analysis. By default, KIRKI_USERS_DEFAULT_FULL_ACCESS lets Editors reach the endpoint despite the PR:H vector.

RemediationAI

Apply the upstream fix referenced by the Trac changeset https://plugins.trac.wordpress.org/changeset/3743904/kirki/trunk/includes/ExportImport/TemplateImport.php and update Kirki to a release that includes it; patch status is upstream fix available (changeset), with the released patched tagged version not independently confirmed in the provided data, so verify the exact fixed version in the Wordfence advisory before upgrading. If upgrade cannot be done immediately, remove FULL_ACCESS from Editor and lower roles in KIRKI_USERS_DEFAULT_FULL_ACCESS, restrict or disable the template import AJAX endpoint until only administrators can reach it, and audit installed plugins/themes for known POP gadget chains because the Kirki flaw is only impactful when such a chain exists. Disabling or removing Kirki removes the vulnerable import path but may break site-building and template import functionality; blocking the endpoint may prevent legitimate imports.

Affected VersionsENISA

Kirki – Freeform Page Builder, Website Builder & Customizer 0 ≤6.3.2

Affected Packages

euvd kirki_freeform_page_builder_website_builder_customizer no fix

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

The issue is CWE-502 deserialization of untrusted input in a WordPress plugin's template export/import feature. The vulnerable path is the AJAX handler in includes/Ajax/TemplateExportImport.php (line 35) reaching TemplateImport.php (lines 963 and 987), with related access setup in Ajax.php line 802; imported template data is passed to PHP object deserialization without sufficient restriction. Kirki has no built-in POP chain, so a successful unserialize is inert by itself and only becomes dangerous if another plugin or theme supplies a gadget chain that can pivot to file deletion, sensitive data access, or code execution. Authentication is required: the independent assessment notes AV:N/AC:H/PR:L/UI:N because Editor-level users are granted FULL_ACCESS by default via KIRKI_USERS_DEFAULT_FULL_ACCESS, while the supplied vector uses PR:H/AC:L; effective exploitation also depends on the external gadget-chain precondition.

Know when PHP 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 (Wordfence) PRIMARY HIGH
NVD 7.2 HIGH
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

AC:H because impact requires a POP chain from another installed plugin/theme (condition outside attacker control); PR:L because Editor role has default import access; full C/I/A only when a chain is present.

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

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionNVD

The Kirki - Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 6.3.2 via deserialization of untrusted input . This makes it possible for authenticated attackers, with administrator-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. By default, Editor-level users are granted FULL_ACCESS to the plugin's import endpoint via the KIRKI_USERS_DEFAULT_FULL_ACCESS configuration, meaning exploitation is possible at Editor privilege level rather than being restricted to administrators alone.

Executive ViewAI

Why It Matters

The Kirki WordPress plugin (through version 6.3.2) contains a high-severity PHP Object Injection vulnerability that allows authenticated Editor-level users to submit serialized data, but real impact depends on another installed plugin or theme providing a usable POP chain. While no public exploit has been identified and Kirki itself lacks a gadget chain, organizations with broad Editor access and multiple third-party WordPress extensions face increased risk. Leadership should prioritize inventorying installed plugins and tightening Editor permissions until a vendor fix is released.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict access to the Kirki template import endpoint via role restrictions or WAF rules, limit Editor-level accounts, audit installed plugins/themes for known POP chains, and monitor for serialized payloads.

Threat Intelligence Overview

Prevalence
Medium
WordPress page-builder/customizer plugin, common but not universally deployed
Data Quality
2 sources
Confidence: Low

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 N/A
Patch available No
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in Kirki Page Builder IDOR and PHP Object Injection Flaws

View all 2

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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