Insufficient permission checks in the language settings in Kirby CMS
Kirby is a CMS targeting designers and editors. Kirby allows to restrict the permissions of specific user roles. Users of that role can only perform permitted actions. Permissions for creating and deleting languages have already existed and could be configured, but were not enforced by Kirby's frontend or backend code. A permission for updating existing languages has not existed before the patched versions. So disabling the languages.* wildcard permission for a role could not have prohibited updates to existing language definitions. The missing permission checks allowed attackers with Panel access to manipulate the language definitions. The problem has been patched in Kirby 3.6.6.6, Kirby 3.7.5.5, Kirby 3.8.4.4, Kirby 3.9.8.2, Kirby 3.10.1.1, and Kirby 4.3.1. Please update to one of these or a later version to fix the vulnerability. There are no known workarounds for this vulnerability.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-41964
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 01:34 UTC · Revision 1
Source evidence
Insufficient permission checks in the language settings in Kirby CMS
core-osv · Original sourcePublished 29 Aug 2024, 16:19 UTC
Kirby is a CMS targeting designers and editors. Kirby allows to restrict the permissions of specific user roles. Users of that role can only perform permitted actions. Permissions for creating and deleting languages have already existed and could be configured, but were not enforced by Kirby's frontend or backend code. A permission for updating existing languages has not existed before the patched versions. So disabling the languages.* wildcard permission for a role could not have prohibited updates to existing language definitions. The missing permission checks allowed attackers with Panel access to manipulate the language definitions. The problem has been patched in Kirby 3.6.6.6, Kirby 3.7.5.5, Kirby 3.8.4.4, Kirby 3.9.8.2, Kirby 3.10.1.1, and Kirby 4.3.1. Please update to one of these or a later version to fix the vulnerability. There are no known workarounds for this vulnerability.
osv:CVE-2024-41964
Complete source record
{
"id": "f1105fcf1307ea69c27a741e67693bde8db461081b64297c24a20a6495b19527",
"url": "https://osv.dev/vulnerability/CVE-2024-41964",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Insufficient permission checks in the language settings in Kirby CMS",
"summary": "Kirby is a CMS targeting designers and editors. Kirby allows to restrict the permissions of specific user roles. Users of that role can only perform permitted actions. Permissions for creating and deleting languages have already existed and could be configured, but were not enforced by Kirby's frontend or backend code. A permission for updating existing languages has not existed before the patched versions. So disabling the languages.* wildcard permission for a role could not have prohibited updates to existing language definitions. The missing permission checks allowed attackers with Panel access to manipulate the language definitions. The problem has been patched in Kirby 3.6.6.6, Kirby 3.7.5.5, Kirby 3.8.4.4, Kirby 3.9.8.2, Kirby 3.10.1.1, and Kirby 4.3.1. Please update to one of these or a later version to fix the vulnerability. There are no known workarounds for this vulnerability.",
"evidence": "osv:CVE-2024-41964",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2024-41964",
"aliases": [
"CVE-2024-41964",
"GHSA-jm9m-rqr3-wfmh"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/getkirby/kirby",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "38fb94da50ab5fa7a07149f0cbcaf86cd7cb5de8"
},
{
"introduced": "d210f26602cf72c926d8ccf8befd61d7831888da"
},
{
"fixed": "a645ec70bc0152cc3caa07df303dd57ac25b30db"
},
{
"introduced": "3e5899b628a2b59c1833a8d79eda292a7fe06843"
},
{
"fixed": "d3de5c2b5c0737f1b12e30d51a67f41b67c1f117"
},
{
"introduced": "066b0506a81fdd331edc54add601d907a61ebbb4"
},
{
"fixed": "40ae4e59227684709d45b202cb96f643da8684eb"
},
{
"introduced": "d2e98d7bc032d3a7d6dc0687de7d0b88140e8497"
},
{
"fixed": "1953eb4979f6d05ce7779c547bf761517024cccb"
},
{
"introduced": "40eae8e8a4e1705412c64de63984376eeaa8b259"
},
{
"fixed": "576306d3c56db387d49539c8b88dbecca6319bd9"
},
{
"fixed": "ab95d172667c3cd529917c2bc94d3c7969706d23"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.6.6.6"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.7.0"
},
{
"fixed": "3.7.5.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.8.0"
},
{
"fixed": "3.8.4.4"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.9.0"
},
{
"fixed": "3.9.8.2"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.10.0"
},
{
"fixed": "3.10.1.1"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getkirby:kirby:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.3.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "ab95d172667c3cd529917c2bc94d3c7969706d23"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"4.3.0",
"3.10.1",
"3.8.4.3",
"3.9.8.1",
"3.7.5.4",
"3.6.6.5",
"3.10.0.1",
"4.2.0",
"4.1.2",
"4.1.1",
"4.1.0",
"3.6.6.4",
"3.7.5.3",
"3.8.4.2",
"3.9.8",
"3.10.0",
"4.0.3",
"4.0.2",
"4.0.1",
"4.0.0",
"3.9.7",
"3.9.6.1",
"3.6.6.3",
"3.7.5.2",
"3.8.4.1",
"3.9.6",
"3.6.6.2",
"3.7.5.1",
"3.8.4",
"3.9.6-rc.1",
"3.9.5",
"3.9.4",
"3.9.3",
"3.9.2",
"3.9.1",
"3.9.0",
"3.8.3",
"3.8.2",
"3.8.1.1",
"3.8.1",
"3.8.0",
"3.6.6.1",
"3.7.5",
"3.7.4",
"3.7.3",
"3.6.6",
"3.7.4-rc.1",
"3.5.7.1",
"3.7.2.1",
"3.7.2",
"3.7.1",
"3.7.0.2",
"3.7.0.1",
"3.7.0",
"3.6.5",
"3.6.4",
"3.6.3.1",
"3.6.3",
"3.6.2",
"3.6.2-rc.3",
"3.6.2-rc.2",
"3.6.2-rc.1",
"3.6.1.1",
"3.6.0",
"3.5.7",
"3.5.6",
"3.5.5",
"3.5.4",
"3.5.3.1",
"3.5.3",
"3.5.2",
"3.5.1",
"3.5.1-rc.1",
"3.5.0",
"3.5.0-rc.7",
"3.5.0-rc.6",
"3.5.0-rc.5",
"3.5.0-rc.4",
"3.5.0-rc.3",
"3.5.0-rc.2",
"3.5.0-rc.1",
"3.4.2",
"3.4.1",
"3.4.0",
"3.3.6",
"3.3.5",
"3.3.4",
"3.3.3",
"3.3.2",
"3.3.1",
"3.3.0",
"3.2.5",
"3.2.5-rc.2",
"3.2.5-rc.1",
"3.2.3-rc.1",
"3.2.2",
"3.2.1",
"3.2.1-rc.1",
"3.2.0",
"3.2.0-rc.4",
"3.2.0-rc.3",
"3.2.0-rc.2",
"3.2.0-rc.1",
"3.1.4",
"3.1.4-rc.1",
"3.1.3",
"3.1.3-rc.1",
"3.1.2",
"3.1.2-rc.1",
"3.1.1",
"3.1.0",
"3.1.0-rc.1",
"3.0.3",
"3.0.3-rc.3",
"3.0.3-rc.2",
"3.0.3-rc.1",
"3.0.2",
"3.0.2-rc.1",
"3.0.1",
"3.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-41964.json"
}
}
],
"modified": "2026-10-28T02:30:52.443173613Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41964.json",
"https://github.com/getkirby/kirby/security/advisories/GHSA-jm9m-rqr3-wfmh",
"https://nvd.nist.gov/vuln/detail/CVE-2024-41964",
"https://github.com/getkirby/kirby/commit/ab95d172667c3cd529917c2bc94d3c7969706d23"
],
"provider_metadata": {
"cwe_ids": [
"CWE-863"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41964.json"
}
},
"related_cves": [
{
"value": "CVE-2024-41964",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 521387,
"published_at": "2024-08-29T16:19:21.676+00:00"
}