CVE-2026-32870 Details
Description
Kirby is an open-source content management system. Kirby's `Xml::value()` method has special handling for `<![CDATA[ ]]>` blocks. If the input value is already valid `CDATA`, it is not escaped a second time but allowed to pass through. However, prior to versions 4.9.0 and 5.4.0, it was possible to trick this check into allowing values that only contained a valid `CDATA` block but also contained other structured data outside of the `CDATA` block. This structured data would then also be allowed to pass through, circumventing the value protection. The `Xml::value()` method is used in `Xml::tag()`, `Xml::create()` and in the `Xml` data handler (e.g. `Data::encode($string, 'xml')`). Both the vulnerable methods and the data handler are not used in the Kirby core. However they may be used in site or plugin code, e.g. to create XML strings from input data. If those generated files are passed to another implementation that assigns specific meaning to the XML schema, manipulation of this system's behavior is possible. Kirby sites that don't use XML generation in site or plugin code are not affected. The problem has been patched in Kirby 4.9.0 and Kirby 5.4.0. In all of the mentioned releases, Kirby has added additional checks that only allow unchanged `CDATA` passthrough if the entire string is made up of valid `CDATA` blocks and no structured data. This protects all uses of the method against the described vulnerability.
A vulnerability allowing XML injection has been identified in Kirby, an open-source content management system. This issue arises in versions of Kirby through 4.8.0 and 5.0.0-5.3.3, specifically within the 'Xml' data handling methods. The vulnerability exploits the 'Xml::value()' method's handling of 'CDATA' blocks, allowing structured data to bypass validation and potentially manipulate the behavior of systems that parse the generated XML. The issue is not present in the Kirby core but may affect sites or plugins that use these XML methods with untrusted input.
Users are advised to update to Kirby versions 4.9.0 or 5.4.0, both of which include patches for this vulnerability. Instructions for downloading these versions are available on the Kirby GitHub releases page.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Apr 24, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/getkirby/kirby/releases/tag/4.9.0 | [email protected] | Release Notes |
| https://github.com/getkirby/kirby/releases/tag/5.4.0 | [email protected] | Release Notes |
| https://github.com/getkirby/kirby/security/advisories/GHSA-9wfj-c55w-j9qr | [email protected] | PatchVendor Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-91 | XML Injection (aka Blind XPath Injection) | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| getkirby kirby | < 4.9.0 >= 5.0.0, < 5.4.0 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Apr 27, 2026 | Initial Analysis | [email protected] |
| Apr 24, 2026 | New CVE Received | [email protected] |