CVE-2026-45368 Kirby: Cross-site scripting (XSS) from links in KirbyTags and image blocks in the site frontend
Attackers can execute arbitrary scripts in the site frontend via malicious URLs in KirbyTags and image blocks, requiring an upgrade to patched versions.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-45368?
CVE-2026-45368 is a high-severity cross-site scripting vulnerability in getkirby kirby, published on 16 Jul 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Kirby is an open-source content management system. In versions prior to 4.9.1 and 5.4.1, the underlying URL methods for the KirbyTags and image blocks components did not filter out malicious URL values that resolve to script execution. The vulnerability affects four first-party Kirby renderers that produce `<a href="…">` output from editor-supplied field values: the (`link: …)` KirbyTag, the `link`: parameter of the `(image: …)` KirbyTag when it does not resolve to a known file or `self`, the `link` field of the built-in image block, and the HTML importer for the `blocks` field (which accepted the same malicious input as the image block `link` field). While simple `avascript:` URLs were already deactivated by treating them as a relative path and prepending a single slash to the URL, the use of URLs of the format `javascript://x%0A…` bypasses this protection. The `vbscript:`, `data:`, `livescript:`, `mocha:` and `jar:` schemes are affected by the same underlying gap. This issue has been fixed in versions 4.9.1 and 5.4.1.
Weakness: CWE-79
Which versions are affected by CVE-2026-45368?
4 open source packages ship an affected version, including getkirby/cms.
| Package | Affected | Fixed in |
|---|---|---|
getkirby/cms Packagist | All versions | 4.9.1 |
getkirby/cms Packagist | All versions | 4.9.1 |
getkirby/cms Packagist | From 5.0.0 | 5.4.1 |
getkirby/cms Packagist | From 5.0.0 | 5.4.1 |
How do I fix CVE-2026-45368?
Upgrade getkirby/cms to a fixed version for your release line: 4.9.1 or 5.4.1.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-45368 being exploited?
There is no known exploitation of CVE-2026-45368 in the wild and no public exploit code.
Sources
Also known as GHSA-qvjf-922g-pj44.