CVE-2026-15601: Kirki (WordPress plugin) · Path Traversal
Affects Kirki (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 4.9 Medium.
Data as of 31 Oct 2026, 20:20 UTC
- EPSS
- 1.1% chance of exploitation in 30 days – higher than 66% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:NExploitation evidence
Disclosed: evidence found.
CVE published 1 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 31 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| themeumKirki – Freeform Page Builder, Website Builder & Customizer | Affected
| Fixed in– |
AI-suggested
Until an official fix is released, restrict access to users with custom-level privileges or higher and monitor for suspicious activity related to ZIP file uploads. Avoid using the affected plugin versions or disable the plugin if possible to mitigate risk.
Description
The Kirki – Freeform Page Builder, Website Builder & Customizer plugin for WordPress is vulnerable to Path Traversal (Zip Slip) in all versions up to, and including, 6.0.13 via the extract_zip_file function. This makes it possible for authenticated attackers, with custom-level access and above, to write arbitrary files on the server, which can allow for remote code execution. The install_app, update_app, and get_kirki_template_from_zip code paths accept a user-supplied app src value to construct the download URL, and no sanitization is applied to prevent a crafted ZIP from being fetched and extracted with path-traversing entry names that escape the intended destination directory.
References
- wordfence.com/threat-intel/vulnerabilities/id/4ccd1314-b9b9-4f63-820c-2817a4932ee8?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/app/Supports/FileHandler.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/app/Services/AppsService.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/app/Services/AppsService.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/app/Http/Controllers/Api/AppsController.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/routes/api.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.13/includes/Ajax/Apps.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/app/Supports/FileHandler.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/app/Services/AppsService.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/app/Services/AppsService.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/app/Http/Controllers/Api/AppsController.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/routes/api.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/kirki/tags/6.0.12/includes/Ajax/Apps.php (opens in a new tab)
- plugins.trac.wordpress.org/changeset?reponame=&old=3617070%40kirki&new=3617070%40kirki (opens in a new tab)