Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2761+ Articles
166+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. CVE-2026-17037: Kirki WordPress Plugin Unauthenticated Stored XSS
CVE-2026-17037: Kirki WordPress Plugin Unauthenticated Stored XSS
SECURITYHIGHCVE-2026-17037

CVE-2026-17037: Kirki WordPress Plugin Unauthenticated Stored XSS

Unauthenticated Stored XSS in the Kirki WordPress plugin (≤ 6.2.0) via the comment parameter lets attackers inject persistent scripts. CVSS 7.2.

Dylan H.

Security Team

September 12, 2026
6 min read

Affected Products

  • Kirki WordPress Plugin ≤ 6.2.0

Overview

CVE-2026-17037 is an unauthenticated Stored Cross-Site Scripting (XSS) vulnerability in the Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress, affecting all versions up to and including 6.2.0. The flaw carries a CVSS v3.1 score of 7.2 (High) and was assigned by Wordfence, which credits the discovery through its bug bounty program.

The vulnerability stems from insufficient input sanitization and output escaping applied to the plugin's comment parameter. Because the flaw requires no authentication and no special privileges to exploit, it is more severe than the typical contributor-level stored XSS bugs commonly seen in WordPress plugins — any unauthenticated visitor can submit a malicious payload that persists in the site's database and later executes in the browser of anyone who views the affected content, including site administrators.

Kirki is a popular framework used by many WordPress themes to power the theme customizer, meaning the practical attack surface extends well beyond sites that installed Kirki directly — any theme that bundles or depends on it inherits the exposure.


FieldValue
CVE IDCVE-2026-17037
SeverityHigh
CVSS Score7.2 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N)
Attack VectorNetwork
Authentication/Privileges RequiredNone (unauthenticated)
User InteractionNone required to inject; a victim must later view the page containing the stored payload
ImpactPersistent JavaScript execution in victims' browsers (session hijacking, admin account takeover, content manipulation)

How It Works

The root cause is a classic stored XSS pattern: user-supplied input is written to the database without adequate sanitization, and then rendered back into a page without proper output escaping.

  1. An attacker submits a request to the Kirki plugin that includes a crafted value in the comment parameter — for example, a <script> tag or an event-handler payload disguised as normal text.
  2. Because Kirki does not sufficiently sanitize this input on the way in, nor properly escape it on the way out, the raw payload is stored as-is in the WordPress database.
  3. When any user — a visitor, editor, or administrator — later loads a page that renders the stored comment (for instance, through a theme's customizer-driven comment display or a Kirki-powered field), the browser interprets the injected markup as executable code rather than inert text.
  4. The script then runs in the security context of whoever's browser rendered the page, with full access to that user's session cookies, nonces, and DOM.

A related, follow-up issue (CVE-2026-84219) was also identified in Kirki's comment-rendering logic, where certain alternate HTML-entity encodings of the payload were not fully neutralized — an indication that the initial sanitization approach missed edge cases in how browsers decode entities before executing script content. Site owners patching against CVE-2026-17037 should verify they are also covered against this related bypass.


Impact Assessment

Any WordPress installation running the Kirki plugin — or a theme that bundles Kirki as its customizer engine — at version 6.2.0 or earlier is potentially exposed. Given Kirki's role as a widely-used theme-building framework rather than a niche standalone plugin, the real installed base affected by this class of issue is larger than the plugin's own listing suggests.

Because exploitation requires no authentication, the practical attack chain is straightforward and does not depend on tricking a privileged user into taking a specific action first:

  • An unauthenticated attacker submits a malicious comment payload to a vulnerable site.
  • The payload is stored persistently in the database.
  • Any subsequent visitor — including a logged-in administrator browsing the site or reviewing comments in wp-admin — triggers execution of the attacker's script.
  • The resulting JavaScript can exfiltrate session cookies or authentication nonces, silently create a new administrator account, inject further malicious content or redirects, or pivot into a broader site compromise.

Stored XSS of this kind is particularly dangerous on multi-user or membership sites, and on any site where administrators regularly review front-end content (comments, submissions, or customizer previews) — the attacker does not need to lure a specific victim to a link, since the payload waits passively until someone views the affected page.

Mitigation

Immediate Actions

  • Update the Kirki plugin. Public reporting on this vulnerability points to version 6.3.0 as the release that addresses the comment parameter sanitization issue; confirm the currently installed version against the plugin's changelog and update to the latest available release, since a subsequent encoding-bypass issue (CVE-2026-84219) was also patched after 6.3.0's initial fix.
  • If an immediate update is not possible, consider disabling or restricting the comment-submission feature that accepts the vulnerable parameter until the plugin can be patched.
  • Deploy or update Web Application Firewall (WAF) rules — Wordfence and similar WordPress-focused WAFs typically ship signatures for this CVE shortly after disclosure — to block script-injection patterns in comment-related fields.

Detection Opportunities

  • Review recent comment submissions and any Kirki-managed customizer fields for unexpected HTML tags, <script> elements, javascript: URIs, or suspicious event-handler attributes (onerror, onload, etc.).
  • Check web server and application logs for POST requests to comment-handling endpoints originating from unusual or automated-looking sources, especially those containing URL-encoded or HTML-entity-encoded script fragments.
  • Audit the WordPress users table for unexpected administrator accounts created after the vulnerability's disclosure window, a common follow-on action after successful stored XSS against an admin session.

Defence-in-Depth

  • Apply the principle of least privilege to WordPress accounts, and require strong, unique credentials plus multi-factor authentication for administrator accounts to limit the blast radius if a session is hijacked.
  • Implement a strict Content Security Policy (CSP) to reduce the impact of any script that does get injected, by restricting inline script execution and limiting allowed script sources.
  • Keep all WordPress core, theme, and plugin components current, and periodically audit installed themes for bundled dependencies like Kirki that may not appear in the standard plugin list but still carry their own update cadence.
  • Maintain regular, tested backups so that a compromised site can be restored quickly if a stored payload is discovered after the fact.

References

  • NVD — CVE-2026-17037
  • Wordfence Intelligence — WordPress Vulnerability Database
  • OpenCVE — CVE-2026-17037
  • OpenCVE — CVE-2026-84219 (related comment-rendering XSS bypass)
#WordPress#CVE-2026-17037#Stored XSS#Cross-Site Scripting#Kirki#Vulnerability

Related Articles

CVE-2026-2342: ValeApp Stored Cross-Site Scripting (CVSS 9.3)

A critical stored XSS vulnerability in OceanicSoft's ValeApp allows attackers to inject persistent JavaScript payloads that execute in every victim's...

5 min read

CVE-2026-5513: Bookly WordPress Plugin Stored XSS via Cookie

The Bookly scheduling plugin for WordPress contains a stored cross-site scripting vulnerability in versions up to 27.2, allowing unauthenticated attackers...

3 min read

CVE-2015-20118: Stored XSS in RealtyScript 4.0.2 Admin

A stored cross-site scripting vulnerability in RealtyScript 4.0.2 allows attackers to inject malicious JavaScript via the location_name parameter in the...

4 min read
Back to all Security Alerts