Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-84221

CVE-2026-84221: Kirki WordPress Plugin SQLi Vulnerability

CVE-2026-84221 is a SQL injection flaw in Kirki WordPress plugin allowing editor-level users to execute arbitrary SQL queries and access sensitive database information. This post covers technical details, affected versions, and mitigation.

Published:

CVE-2026-84221 Overview

The Kirki WordPress plugin before version 6.3.0 contains a SQL injection vulnerability [CWE-89]. The plugin fails to escape a user-supplied identifier before using it in a SQL query. Authenticated users with editor-level access or above can append arbitrary SQL statements. Successful exploitation allows attackers to read the contents of the WordPress database, including user credentials.

Critical Impact

Authenticated attackers with editor privileges can extract sensitive database contents, including hashed credentials, by injecting SQL through an unescaped identifier parameter.

Affected Products

  • Kirki WordPress plugin versions before 6.3.0
  • WordPress sites using vulnerable Kirki installations
  • Any site granting editor-level access to untrusted users

Discovery Timeline

  • 2026-09-05 - CVE CVE-2026-84221 published to NVD
  • 2026-09-08 - Last updated in NVD database

Technical Details for CVE-2026-84221

Vulnerability Analysis

The Kirki plugin provides a customizer framework for WordPress themes. Versions prior to 6.3.0 accept a user-controlled identifier and pass it into a SQL query without escaping or parameterization. Because identifiers such as table or column names cannot be bound with prepared statements, developers must apply strict allow-list validation. The plugin omits this step, allowing attackers to append arbitrary SQL fragments to the query.

Exploitation requires editor-level privileges or higher, which limits opportunistic abuse. However, editor accounts are common in multi-author environments and are frequently compromised through credential reuse or phishing. Once exploited, the flaw yields read access to arbitrary tables in the WordPress database, including the wp_users table containing password hashes.

Root Cause

The root cause is missing input sanitization on an identifier parameter used to construct a SQL query. WordPress provides esc_sql() and $wpdb->prepare() for values, but identifiers require explicit allow-list checks. Kirki concatenates the untrusted identifier directly into the query string, enabling classic SQL injection [CWE-89].

Attack Vector

The attack vector is network-based and requires an authenticated session with editor or administrator privileges. An attacker submits a crafted request to a vulnerable Kirki endpoint, supplying a malicious identifier that terminates the intended query and appends a UNION SELECT or similar clause. The database returns the injected results to the attacker. See the WPScan Vulnerability Report for additional technical details.

// No verified proof-of-concept code is publicly available.
// Refer to the WPScan advisory for technical details.

Detection Methods for CVE-2026-84221

Indicators of Compromise

  • Unexpected UNION SELECT, SLEEP(, or INFORMATION_SCHEMA fragments in WordPress request logs targeting Kirki endpoints
  • Editor or administrator accounts issuing requests with unusually long or encoded query parameters
  • Database error messages surfacing in HTTP responses for Kirki-related URLs

Detection Strategies

  • Inspect web server access logs for anomalous parameter values submitted to Kirki customizer endpoints by authenticated users
  • Review WordPress audit logs for editor-level accounts performing unusual customizer operations
  • Deploy a web application firewall rule to flag SQL keywords in identifier parameters sent to /wp-admin/ endpoints

Monitoring Recommendations

  • Monitor for privilege escalation events following suspicious Kirki requests
  • Alert on outbound data exfiltration patterns from web servers hosting WordPress
  • Track failed and successful logins for editor and administrator accounts to identify compromised credentials

How to Mitigate CVE-2026-84221

Immediate Actions Required

  • Upgrade the Kirki plugin to version 6.3.0 or later on all affected WordPress installations
  • Audit editor and administrator accounts and enforce credential rotation where compromise is suspected
  • Review database access logs for signs of unauthorized SELECT activity against wp_users or other sensitive tables

Patch Information

The vendor addressed the vulnerability in Kirki version 6.3.0 by properly sanitizing the identifier before use in SQL queries. Site administrators should update through the WordPress plugin manager or by replacing the plugin files with the patched release. Consult the WPScan Vulnerability Report for advisory details.

Workarounds

  • Restrict editor-level access to trusted users only until the patch can be applied
  • Deploy a web application firewall rule to block SQL metacharacters in Kirki request parameters
  • Temporarily deactivate the Kirki plugin if patching is not immediately feasible
bash
# Update the Kirki plugin using WP-CLI
wp plugin update kirki --version=6.3.0

# Verify installed version
wp plugin get kirki --field=version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.