Skip to main content

Kirki WordPress Plugin EUVDEUVD-2026-83668

| CVE-2026-84223 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-20 WPScan GHSA-96mm-r72j-4pv6
6.8
CVSS 3.1 · Vendor: WPScan
View

Attack ChainAIDerived

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

  1. Access
    Obtain Author-level account
  2. Delivery
    Upload SVG with embedded JavaScript
  3. Exploit
    Lure admin to open file
  4. Execution
    Script runs in admin session from site origin
  5. Persist
    Hijack session / forge admin actions
  6. Impact
    Site takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

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 with Author-level role or higher on a site running Kirki 6.0.0-6.3.0. The specific trigger is Kirki making SVG files uploadable site-wide without sanitization, so the account must be able to upload media. Exploitation additionally requires user interaction (UI:R): a victim - ideally an administrator - must open/view the uploaded SVG for the embedded JavaScript to execute from the site's origin. Limiting factors: not unauthenticated (needs at least Author), depends on the victim actually opening the file, and is fully mitigated by upgrading to 6.3.1.

Impact

This is a genuine but conditionally-gated stored-XSS priority rather than a mass-exploitation emergency. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H = 6.8) contains an internal tension worth flagging: it assigns PR:H yet the description explicitly says 'author-level access and above', and author is a mid-tier WordPress role that WPScan conventionally maps to PR:L - so the privilege bar is lower than the vector implies, which if anything raises real risk. Exploitation requires an authenticated Author+ account plus UI:R (a victim must open the malicious SVG), so it is not drive-by unauthenticated. POC is publicly available (WPScan) but the vulnerability is NOT in CISA KEV and no EPSS score was supplied, so there is no evidence of active exploitation - POC availability and active exploitation are distinct signals. Net: the high C/I/A impact reflects that JavaScript running from the site's own origin in an admin's session can escalate to full site takeover, making this a real patch-now item for multi-author sites, but the authenticated + user-interaction prerequisites keep it below wormable/critical-urgency tier. A vendor patch (6.3.1) is confirmed available, which is the decisive mitigation signal.

Exploit ScenarioDerived

An attacker who holds or phishes an Author-level WordPress account uploads a malicious .svg file (which Kirki makes uploadable site-wide without sanitization) containing embedded JavaScript. When an administrator or other user opens or previews that file, the script executes from the site's own origin in their authenticated session, allowing session/cookie theft, admin action forgery, or account/site takeover. A public proof-of-concept for this vector exists via WPScan.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 20, 2026

Stored cross-site scripting in the Kirki WordPress plugin affects versions 6.0.0 through 6.3.0, which allow SVG files to be uploaded site-wide without sanitization; an authenticated user with Author-level access or higher can upload an SVG carrying embedded JavaScript that is then served from the site's own origin. When a victim - ideally an administrator - opens or views that file, the script runs in their session, giving the attacker same-origin script execution with high confidentiality and integrity impact (assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H), and publicly available exploit code exists. This is a genuine but conditionally-gated stored-XSS priority rather than a mass-exploitation emergency: it requires an authenticated Author-level account and a victim interacting with the uploaded file, and it is fully mitigated by upgrading to 6.3.1.

RemediationAI

Vendor-released patch: 6.3.1 - upgrade the Kirki plugin to 6.3.1 or later, which restores sanitization of uploaded SVG files and is the only complete fix (advisory: https://wpscan.com/vulnerability/02ed6d31-84f3-4723-8b49-ddb00c7db7d3/). Where immediate patching is not possible, apply layered compensating controls and accept their trade-offs: block SVG uploads entirely by removing the svg/svgz MIME types from the allowed list (upload_mimes filter) or by hooking the media upload path for those types, which removes the exposure but breaks any legitimate SVG use on the site; if SVG support is required, restrict it to Administrator-only and revoke unfiltered_upload/file-upload capabilities from Author and Contributor roles, which narrows the attack surface to a small, trusted account set but still leaves a single compromised admin account able to plant a payload; sanitize SVGs server-side on upload with a dedicated SVG sanitizer that strips <script>, event-handler attributes, and external references, which keeps functionality but requires careful configuration and ongoing maintenance; serve the media library's SVG files from a separate cookieless domain or force Content-Disposition: attachment plus a strict Content-Security-Policy with sandbox on the uploads path, which prevents same-origin script execution but adds infrastructure complexity and may break inline media previews; and search the existing media library for previously uploaded SVG files, review their contents, and delete any that carry script or event-handler code. Note that no CISA KEV entry is associated with this CVE, so exploitation is not confirmed as active at time of analysis, though publicly available exploit code exists and raises the likelihood of targeted use.

Affected VersionsENISA

Kirki 6.0.0 <6.3.1

Affected Packages

euvd kirki fix: 6.3.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

The root cause is CWE-79 (improper neutralization of input during web page generation), specifically a stored/persistent XSS delivered through SVG media. SVG is an XML-based graphics format that can legitimately contain <script> elements, event handler attributes such as onload, and <foreignObject> blocks, so accepting unsanitized SVG is functionally equivalent to accepting arbitrary HTML/JavaScript uploads. The Kirki plugin extends WordPress's allowed upload MIME types to include SVG site-wide, which means authors and above can place a crafted file into the media library; WordPress then serves it from the site's own domain and origin. Because the file is same-origin, the embedded script is not isolated by the browser's same-origin policy and executes in the security context of whatever user opens it, which is why the independent assessment scores scope as changed (S:C) rather than unchanged as in the submitted vector. It also explains the high C/I/A ratings: a script running on the site's origin can read rendered administrative content, act with the victim's session, and alter site data. The supplied CPE (cpe:2.3:a:unknown:kirki:*:*:*:*:*:*:*:*) is an unversioned wildcard, so version scoping must come from the vendor/ENISA data, which pins the vulnerable range at 6.0.0 up to but not including 6.3.1.

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 (WPScan) PRIMARY 6.8 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

Author role is low-privilege not high (PR:L, disputing vendor PR:H); payload executes in other users'/admin sessions so scope changes (S:C); admin-session XSS enables takeover (C/I/A:H); victim must open file (UI:R).

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

Primary rating from Vendor (WPScan).

CVSS VectorVendor: WPScan

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

Lifecycle Timeline

4
CVSS changed
Sep 20, 2026 - 14:22 NVD
6.8 (MEDIUM)
Patch available
Sep 20, 2026 - 07:01 EUVD
CVE Published
Sep 20, 2026 - 06:00 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 20, 2026 - 06:00 cve.org
MEDIUM 6.8

DescriptionCVE.org

The Kirki WordPress plugin before 6.3.1 does not sanitize uploaded SVG files while making them uploadable site-wide, allowing users with author-level access and above to upload a file containing JavaScript which is then served from the site's own origin and runs in the session of anyone who opens it.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
High
Kirki is a widely-adopted WordPress customizer framework bundled across many themes
Exploit
POC
Public exploit code exists
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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Total

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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-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-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-77754 MEDIUM POC
5.3 Aug 26

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

CVE-2026-84222 MEDIUM POC
5.3 Sep 09

Unauthenticated content disclosure in the Kirki WordPress plugin before 6.3.0 allows any remote attacker to retrieve the

CVE-2026-12723 MEDIUM POC
5.3 Jul 20

Unauthenticated comment manipulation in the Kirki WordPress plugin (versions before 6.0.12) allows remote attackers to o

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

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