CVE-2026-45334
Full vulnerability record from the local CVENow database.
Description
Kirby is an open-source content management system. In versions prior to 4.9.1 and 5.4.1, the content-locking feature returned lock information without checking the requesting user's access permissions. Kirby's Panel includes a content-locking feature that records which user currently has a model open for editing. This lock prevents conflicting edits by multiple users and displays the locking user's identity in the Panel UI so other users know who to contact. Internally, the locking user's email address and identifier are included in every Panel view payload and in error responses returned when a user attempts to edit a model that is currently locked by another user. This allowed a low-privilege authenticated Panel user, whose role was configured with users.access: false or users.list: false, to learn the email address and identifier of any user who currently had a model open for editing in the Panel, including administrators and other higher-privilege users. Content locks are active for a configurable window (10 minutes by default). The email address can allow admin account enumeration, target phishing, and feed credential-stuffing attacks against the Kirby installation or other sites. The internal user ID can be cross-referenced with other endpoints once the requester has obtained a higher privilege through unrelated means. This issue has been fixed in versions 4.9.1 and 5.4.1.
View original CVE JSON
{
"id": "CVE-2026-45334",
"sourceIdentifier": "[email protected]",
"published": "2026-07-16T22:17:02.550",
"lastModified": "2026-10-24T20:10:00.137",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Kirby is an open-source content management system. In versions prior to 4.9.1 and 5.4.1, the content-locking feature returned lock information without checking the requesting user's access permissions. Kirby's Panel includes a content-locking feature that records which user currently has a model open for editing. This lock prevents conflicting edits by multiple users and displays the locking user's identity in the Panel UI so other users know who to contact. Internally, the locking user's email address and identifier are included in every Panel view payload and in error responses returned when a user attempts to edit a model that is currently locked by another user. This allowed a low-privilege authenticated Panel user, whose role was configured with users.access: false or users.list: false, to learn the email address and identifier of any user who currently had a model open for editing in the Panel, including administrators and other higher-privilege users. Content locks are active for a configurable window (10 minutes by default). The email address can allow admin account enumeration, target phishing, and feed credential-stuffing attacks against the Kirby installation or other sites. The internal user ID can be cross-referenced with other endpoints once the requester has obtained a higher privilege through unrelated means. This issue has been fixed in versions 4.9.1 and 5.4.1."
},
{
"lang": "es",
"value": "Kirby es un sistema de gestión de contenido de código abierto. En versiones anteriores a la 4.9.1 y 5.4.1, la función de bloqueo de contenido devolvía información de bloqueo sin verificar los permisos de acceso del usuario solicitante. El Panel de Kirby incluye una función de bloqueo de contenido que registra qué usuario tiene actualmente un modelo abierto para edición. Este bloqueo evita ediciones conflictivas por parte de múltiples usuarios y muestra la identidad del usuario que realiza el bloqueo en la interfaz de usuario del Panel para que otros usuarios sepan a quién contactar. Internamente, la dirección de correo electrónico y el identificador del usuario que realiza el bloqueo se incluyen en cada carga útil de la vista del Panel y en las respuestas de error devueltas cuando un usuario intenta editar un modelo que está actualmente bloqueado por otro usuario. Esto permitía a un usuario autenticado del Panel con bajos privilegios, cuyo rol estaba configurado con users.access: false o users.list: false, conocer la dirección de correo electrónico y el identificador de cualquier usuario que tuviera actualmente un modelo abierto para edición en el Panel, incluyendo administradores y otros usuarios con mayores privilegios. Los bloqueos de contenido están activos durante una ventana configurable (10 minutos por defecto). La dirección de correo electrónico puede permitir la enumeración de cuentas de administrador, el phishing dirigido y alimentar ataques de relleno de credenciales contra la instalación de Kirby u otros sitios. El ID de usuario interno puede ser cotejado con otros puntos finales una vez que el solicitante haya obtenido un privilegio superior a través de medios no relacionados. Este problema ha sido solucionado en las versiones 4.9.1 y 5.4.1."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "getkirby",
"product": "kirby",
"versions": [
{
"version": "< 4.9.1",
"status": "affected"
},
{
"version": ">= 5.0.0, < 5.4.1",
"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:L/VI:N/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": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "NONE",
"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"
}
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-17T16:47:38.073073Z",
"id": "CVE-2026-45334",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-862"
}
]
}
],
"references": [
{
"url": "https://github.com/getkirby/kirby/releases/tag/5.4.1",
"source": "[email protected]"
},
{
"url": "https://github.com/getkirby/kirby/security/advisories/GHSA-39vq-49qm-r2mc",
"source": "[email protected]"
}
]
}