Skip to main content

Kirki WordPress Plugin CVE-2026-75891

| EUVDEUVD-2026-110629 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-27 Wordfence GHSA-ppv3-rhmr-8mqr
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privilege Subscriber
  2. Exploit
    Send crafted get-single-symbol AJAX request
  3. Execution
    Deserialize untrusted PHP object, trigger POP chain
  4. Impact
    Overwrite admin password, gain full admin access

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

Requires the Kirki (Freeform Page Builder, Website Builder & Customizer) plugin, version ≤6.2.5, installed and active, plus an authenticated account at Subscriber level or above (CVSS PR:L) - no higher privilege and no user interaction (UI:N) are needed. The specific trigger is a request to the 'get-single-symbol' branch of the kirki_post_apis() AJAX dispatcher, which deserializes untrusted input without a capability check; successful privilege escalation also depends on the presence of the described POP chain in the running code. The main limiting factor is the Subscriber-account requirement: sites that allow open user registration are effectively exposed to any visitor, while sites that disable self-registration require the attacker to first obtain a low-privilege account.

Impact

Signals are consistent and point to a genuine but non-emergency priority. The CVSS 3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects a high-impact flaw: network-reachable, low attack complexity, only Subscriber-level privileges required, no user interaction, with full confidentiality, integrity and availability impact because the POP chain lets an attacker overwrite an administrator password and take over the site. Against that, the exploitation signals are modest: EPSS is only 0.30% (23rd percentile), the CVE is not listed in CISA KEV, and no public exploit or PoC reference is present in the supplied data - so the low EPSS and absence of exploitation evidence temper the high base score rather than contradict it. The vuln.today Decision label is 'this_week', which aligns with the SSVC-style reading of a high-impact, easily-automatable but not-yet-exploited bug: patch promptly, not as a fire drill. The one real-world amplifier to weigh is PR:L - exploitation needs only a Subscriber account, so any WordPress site running Kirki ≤6.2.5 with open user registration effectively lowers the bar to near-unauthenticated; sites that disable self-registration raise it meaningfully. No signals are missing in a way that changes the verdict, though the exact fixed version is not stated in the input (only a patch changeset reference).

Exploit ScenarioDerived

An attacker registers or obtains a low-privilege Subscriber account on a WordPress site running Kirki ≤6.2.5, then sends a crafted AJAX request to the 'get-single-symbol' branch of the kirki_post_apis() dispatcher carrying a serialized PHP object. Because the branch lacks a capability check and deserializes the untrusted input, the payload instantiates an object that drives the available POP chain to overwrite an administrator's password, yielding full administrative access. No public exploit code is identified in the available data, and no user interaction is required.

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

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Privilege escalation in the Kirki plugin for WordPress (all versions up to and including 6.2.5) allows authenticated users with only Subscriber-level access to reach a vulnerable deserialization path in the 'get-single-symbol' branch of the kirki_post_apis() AJAX dispatcher, which lacks a capability check, and to inject a PHP object. Because a POP chain is present in the running code, a successful injection can overwrite an administrator's password and hand the attacker full administrative control of the site. The CVSS vector confirms network reachability, low privileges (PR:L), and no user interaction (UI:N) for a high-integrity, high-availability impact; EPSS is low at 0.30% (23rd percentile) and there is no KEV listing, so there is no public exploit identified at time of analysis, though the practical exposure is governed by whether a site permits open user registration.

RemediationAI

Upstream fix available (changeset/commit); released patched version not independently confirmed - the vendor's correction is WordPress.org plugin changeset 3677965 (https://plugins.trac.wordpress.org/changeset/3677965/kirki), so update Kirki to a build that includes that changeset (anything published after 6.2.5) and verify the installed version once a tagged release is confirmed in the plugin repository. Until that update is applied, the exposure is entirely gated by the Subscriber-account requirement: if the site allows open self-registration, disable it or gate registration behind approval or email-domain restrictions, which removes the attacker's foothold but may disrupt legitimate sign-ups; audit existing Subscriber-level accounts for unexpected or recently created users and remove any that are not needed; and if neither is operationally practical, deactivate the Kirki plugin entirely, which eliminates the kirki_post_apis() AJAX endpoint and the attack path at the cost of losing the plugin's builder and customizer functionality on the site.

Affected VersionsENISA

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

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 flaw is a PHP Object Injection (CWE-502) rooted in the deserialization of untrusted input. WordPress AJAX handlers registered through kirki_post_apis() are reachable via admin-ajax.php by any logged-in user, including Subscribers, and the 'get-single-symbol' branch of that dispatcher fails to perform a capability check before processing attacker-supplied data through PHP's unserialize path. The absence of that check is what collapses the privilege boundary: a Subscriber can supply a serialized payload rather than a privileged administrator. On its own, object injection is only a primitive; impact here depends on magic methods (__wakeup, __destruct, __toString) in classes loaded during the request forming a usable POP chain, which the advisory states is present and can be chained to an administrator password overwrite. The CPE string identifies the affected package as Themeum's 'Kirki - Freeform Page Builder, Website Builder & Customizer' for WordPress, and ENISA EUVD records the affected range as versions 0 through 6.2.5, matching the plugin's own release history. Fixing this requires both a capability/permission check on the AJAX branch and, ideally, avoidance of unserialize on user-controlled input (for example JSON or an allowed-classes restriction).

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 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable AJAX endpoint (AV:N/AC:L), needs only a Subscriber account so PR:L, no interaction (UI:N); admin takeover yields full C/I/A impact with no scope change.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/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
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionNVD

The Kirki plugin for WordPress is vulnerable to Privilege Escalation via PHP Object Injection in all versions up to, and including, 6.2.5 via deserialization of untrusted input through the 'get-single-symbol' branch of the kirki_post_apis() AJAX dispatcher due to a missing capability check. This makes it possible for authenticated attackers, with Subscriber-level access and above, to inject a PHP Object. The additional presence of a POP chain allows attackers to overwrite an administrator's password and gain administrative access.

Executive ViewAI

Why It Matters

CVE-2026-75891 is a high-severity privilege escalation in the Kirki WordPress plugin (all versions through 6.2.5) that lets any authenticated Subscriber take full administrative control of a site. Every WordPress installation running Kirki with open user registration is affected, exposing content, user data, and site integrity to a low-skill insider or self-registered attacker. Leadership should care because unpatched sites remain continuously exposed and a compromise could damage brand trust and require costly recovery.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable open user registration to block unauthenticated creation of Subscriber accounts; deactivate the Kirki plugin if business operations permit; enforce least privilege by reviewing and minimizing Subscriber accounts; enable web application firewall rules to block crafted requests to the plugin's AJAX endpoint; monitor for anomalous administrative password changes.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
popular WordPress customizer/page-builder plugin, moderate but not universal install base
Social Media
1
Sightings
Data Quality
4 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 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
High

Priority Score

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

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

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.

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