CVE-2026-41325
Full vulnerability record from the local CVENow database.
Description
Kirby is an open-source content management system. Kirby's user permissions control which user role is allowed to perform specific actions to content models in the CMS. These permissions are defined for each role in the user blueprint (`site/blueprints/users/...`). It is also possible to customize the permissions for each target model in the model blueprints (such as in `site/blueprints/pages/...`) using the `options` feature. The permissions and options together control the authorization of user actions. Kirby provides the `pages.create`, `files.create` and `users.create` permissions (among others). These permissions can again be set in the user blueprint and/or in the blueprint of the target model via `options`. Prior to versions 4.9.0 and 5.4.0, Kirby allowed to override the `options` during the creation of pages, files and users by injecting custom dynamic blueprint configuration into the model data. The injected `options` could include `'create' => true`, which then caused an override of the permissions and options configured by the site developer in the user and model blueprints. The problem has been patched in Kirby 4.9.0 and Kirby 5.4.0. The patched versions have updated the normalization code that is used during the creation of pages, files and users to include a filter for the `blueprint` property. This prevents the injection of dynamic blueprint configuration into the creation request.
View original CVE JSON
{
"id": "CVE-2026-41325",
"sourceIdentifier": "[email protected]",
"published": "2026-04-24T01:16:12.427",
"lastModified": "2026-10-26T22:10:00.163",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Kirby is an open-source content management system. Kirby's user permissions control which user role is allowed to perform specific actions to content models in the CMS. These permissions are defined for each role in the user blueprint (`site/blueprints/users/...`). It is also possible to customize the permissions for each target model in the model blueprints (such as in `site/blueprints/pages/...`) using the `options` feature. The permissions and options together control the authorization of user actions. Kirby provides the `pages.create`, `files.create` and `users.create` permissions (among others). These permissions can again be set in the user blueprint and/or in the blueprint of the target model via `options`. Prior to versions 4.9.0 and 5.4.0, Kirby allowed to override the `options` during the creation of pages, files and users by injecting custom dynamic blueprint configuration into the model data. The injected `options` could include `'create' => true`, which then caused an override of the permissions and options configured by the site developer in the user and model blueprints. The problem has been patched in Kirby 4.9.0 and Kirby 5.4.0. The patched versions have updated the normalization code that is used during the creation of pages, files and users to include a filter for the `blueprint` property. This prevents the injection of dynamic blueprint configuration into the creation request."
},
{
"lang": "es",
"value": "Kirby es un sistema de gestión de contenido de código abierto. Los permisos de usuario de Kirby controlan qué rol de usuario tiene permitido realizar acciones específicas en los modelos de contenido en el CMS. Estos permisos se definen para cada rol en el blueprint de usuario (’site/blueprints/users/...’). También es posible personalizar los permisos para cada modelo objetivo en los blueprints del modelo (como en ’site/blueprints/pages/...’) usando la característica ’options’. Los permisos y las ’options’ juntos controlan la autorización de las acciones del usuario. Kirby proporciona los permisos ’pages.create’, ’files.create’ y ’users.create’ (entre otros). Estos permisos pueden configurarse de nuevo en el blueprint de usuario y/o en el blueprint del modelo objetivo a través de ’options’. Antes de las versiones 4.9.0 y 5.4.0, Kirby permitía anular las ’options’ durante la creación de páginas, archivos y usuarios inyectando una configuración de blueprint dinámica personalizada en los datos del modelo. Las ’options’ inyectadas podían incluir ’’create’ => true’, lo que luego causaba una anulación de los permisos y las ’options’ configurados por el desarrollador del sitio en los blueprints de usuario y de modelo. El problema ha sido parcheado en Kirby 4.9.0 y Kirby 5.4.0. Las versiones parcheadas han actualizado el código de normalización que se utiliza durante la creación de páginas, archivos y usuarios para incluir un filtro para la propiedad ’blueprint’. Esto evita la inyección de configuración de blueprint dinámica en la solicitud de creación."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "getkirby",
"product": "kirby",
"versions": [
{
"version": "< 4.9.0",
"status": "affected"
},
{
"version": ">= 5.0.0, < 5.4.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-04-24T12:11:33.355488Z",
"id": "CVE-2026-41325",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-863"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"versionEndExcluding": "4.9.0",
"matchCriteriaId": "1BB5394F-37F9-4A53-9CE7-79548F674886"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.0.0",
"versionEndExcluding": "5.4.0",
"matchCriteriaId": "B2D943B9-CD71-45FE-A1A4-158603C3502E"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/getkirby/kirby/releases/tag/4.9.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/getkirby/kirby/releases/tag/5.4.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/getkirby/kirby/security/advisories/GHSA-6gqr-mx34-wh8r",
"source": "[email protected]",
"tags": [
"Patch",
"Vendor Advisory"
]
}
]
}