CVE-2026-54005
Kirby: `pages.access` permission is not checked in the `site/find` REST API route
Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites where a role has the pages.access permission disabled allowed authenticated users who know or guess page IDs or UUIDs to retrieve page information, including full content and metadata, for arbitrary published pages through the /api/site/find route without authorization to access those pages. This issue is fixed in versions 4.9.4 and 5.4.4.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.1
Kirby: `pages.access` permission is not checked in the `site/find` REST API route
Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites where a role has the pages.access permission disabled allowed authenticated users who know or guess page IDs or UUIDs to retrieve page information, including full content and metadata, for arbitrary published pages through the /api/site/find route without authorization to access those pages. This issue is fixed in versions 4.9.4 and 5.4.4.
- Record
CVE-2026-54005- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-862
- Updated
- 2026-11-02
EUVDEUVD-2026-42670
7.1
Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites where a role has the pages.access permission disabled allowed authenticated users who know or guess page IDs or UUIDs to retrieve page information, including full content and metadata, for arbitrary published pages through the /api/site/find route without authorization to access those pages. This issue is fixed in versions 4.9.4 and 5.4.4.
- Record
EUVD-2026-42670- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-r3w8-2c5r-h9j9
7.1
Kirby: `pages.access` permission is not checked in the `site/find` REST API route
TL;DR
This vulnerability affects all Kirby sites where users of a particular role have no permission to access pages (pages.access permission is disabled). This can be due to configuration in the user blueprint(s), options in the model blueprint(s), or a combination of both settings.
It was possible to retrieve page information (including full content and metadata) for arbitrary pages via the /api/site/find route without being authorized to access the respective pages.
This vulnerability is of high severity for affected sites.
Your Kirby sites are not affected if you intend all users of your site to be able to access all pages of the site. The vulnerability can only be exploited by authenticated users that know or guess the IDs or UUIDs of pages. Write actions as well as access to draft pages are not affected by this vulnerability.
Introduction
Missing authorization allows authenticated users to perform actions they are not intended to have access to.
The effects of missing authorization can include unauthorized access to sensitive information as well as unauthorized changes to content or system information.
Affected components
The /api/site/find route allows callers to request model data for a collection of user-selected pages. This model data includes structural metadata about the page itself and its children, siblings, and files and can also be extended via a query parameter to return full page content and additional metadata. The pages to return can be queried by a list of page IDs and/or UUIDs. Draft pages are excluded from this route as it only supports querying published pages.
Impact
In affected releases, Kirby did not check whether the queried pages were accessible to the currently authenticated user.
This can lead to disclosure of sensitive information contained in inaccessible pages, including the confirmation of the existence of individual pages as well as disclosure of sensitive content fields stored in the pages. Linked children, siblings, or files were not affected by this vulnerability as they were already properly filtered by the appropriate pages.list and files.list permissions.
Because the /api/site/find route is read-only, the vulnerability does not allow malicious write access.
Patches
The problem has been patched in Kirby 4.9.4 and Kirby 5.4.4. Please update to one of these or a later version to fix the vulnerability.
In all of the mentioned releases, we added a filter ensuring that the /api/site/find route only returns pages that are accessible to the current user.
Credits
Thanks to Rizky Muhammad (@EvidentObscurity) for responsibly reporting the identified issue.
- Record
GHSA-r3w8-2c5r-h9j9- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-862
- Updated
- 2026-11-02
NVD
7.1
Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites where a role has the pages.access permission disabled allowed authenticated users who know or guess page IDs or UUIDs to retrieve page information, including full content and metadata, for arbitrary published pages through the /api/site/find route without authorization to access those pages. This issue is fixed in versions 4.9.4 and 5.4.4.
- Record
CVE-2026-54005- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/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 - Weakness
- CWE-862
- Updated
- 2026-11-02
OSV
7.1
Kirby: `pages.access` permission is not checked in the `site/find` REST API route
Kirby is an open-source content management system. Prior to 4.9.4 and 5.4.4, Kirby sites where a role has the pages.access permission disabled allowed authenticated users who know or guess page IDs or UUIDs to retrieve page information, including full content and metadata, for arbitrary published pages through the /api/site/find route without authorization to access those pages. This issue is fixed in versions 4.9.4 and 5.4.4.
- Record
CVE-2026-54005- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-862
- Updated
- 2026-11-02
OSVGHSA-r3w8-2c5r-h9j9
7.1
Kirby: `pages.access` permission is not checked in the `site/find` REST API route
TL;DR
This vulnerability affects all Kirby sites where users of a particular role have no permission to access pages (pages.access permission is disabled). This can be due to configuration in the user blueprint(s), options in the model blueprint(s), or a combination of both settings.
It was possible to retrieve page information (including full content and metadata) for arbitrary pages via the /api/site/find route without being authorized to access the respective pages.
This vulnerability is of high severity for affected sites.
Your Kirby sites are not affected if you intend all users of your site to be able to access all pages of the site. The vulnerability can only be exploited by authenticated users that know or guess the IDs or UUIDs of pages. Write actions as well as access to draft pages are not affected by this vulnerability.
Introduction
Missing authorization allows authenticated users to perform actions they are not intended to have access to.
The effects of missing authorization can include unauthorized access to sensitive information as well as unauthorized changes to content or system information.
Affected components
The /api/site/find route allows callers to request model data for a collection of user-selected pages. This model data includes structural metadata about the page itself and its children, siblings, and files and can also be extended via a query parameter to return full page content and additional metadata. The pages to return can be queried by a list of page IDs and/or UUIDs. Draft pages are excluded from this route as it only supports querying published pages.
Impact
In affected releases, Kirby did not check whether the queried pages were accessible to the currently authenticated user.
This can lead to disclosure of sensitive information contained in inaccessible pages, including the confirmation of the existence of individual pages as well as disclosure of sensitive content fields stored in the pages. Linked children, siblings, or files were not affected by this vulnerability as they were already properly filtered by the appropriate pages.list and files.list permissions.
Because the /api/site/find route is read-only, the vulnerability does not allow malicious write access.
Patches
The problem has been patched in Kirby 4.9.4 and Kirby 5.4.4. Please update to one of these or a later version to fix the vulnerability.
In all of the mentioned releases, we added a filter ensuring that the /api/site/find route only returns pages that are accessible to the current user.
Credits
Thanks to Rizky Muhammad (@EvidentObscurity) for responsibly reporting the identified issue.
- Record
GHSA-r3w8-2c5r-h9j9- CVSS 4.0
- 7.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-862
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
getkirby/cmsPackagist |
through 4.9.3 | 4.9.4 |
getkirby/cmsPackagist |
5.0.0-alpha.1 to 5.4.3 | 5.4.4 |
getkirby/cmsPackagist |
before 4.9.4, plus listed versions 3.0.03.0.13.0.1-rc.13.0.23.0.2-rc.1 Show 45 moreShow less3.0.33.0.3-rc.13.0.3-rc.23.0.3-rc.33.1.03.1.0-rc.13.1.13.1.23.1.2-rc.13.1.33.1.3-rc.13.1.43.1.4-rc.13.10.03.10.0.13.10.13.10.1.13.10.1.23.2.03.2.0-rc.13.2.0-rc.23.2.0-rc.33.2.0-rc.43.2.13.2.1-rc.13.2.23.2.33.2.3-rc.13.2.43.2.4-rc.13.2.53.2.5-rc.13.2.5-rc.23.3.03.3.0-rc.13.3.0-rc.23.3.0-rc.33.3.0-rc.43.3.0-rc.53.3.13.3.1-rc.13.3.23.3.2-rc.13.3.33.3.3-rc.1 |
4.9.4 |
getkirby/cmsPackagist |
5.0.0-alpha.1 up to 5.4.4, plus listed versions 5.0.05.0.0-alpha.25.0.0-alpha.35.0.0-alpha.45.0.0-beta.1 Show 35 moreShow less5.0.0-beta.25.0.0-beta.35.0.0-beta.45.0.0-beta.55.0.0-beta.65.0.0-rc.15.0.0-rc.25.0.0-rc.35.0.0-rc.45.0.0-rc.55.0.0-rc.65.0.15.0.25.0.35.0.45.1.05.1.0-rc.15.1.15.1.25.1.35.1.45.2.05.2.0-rc.15.2.15.2.25.2.35.3.05.3.0-rc.15.3.15.3.25.3.35.4.05.4.15.4.25.4.3 |
5.4.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54005 is a high vulnerability (CVSS 7.1) in Getkirby Kirby, published June 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.43%, the 37th percentile. Fixed in getkirby/cms 4.9.4.
References
github.com/getkirby/kirby/security/advisories/GHSA-r3w8-2c5r-h9j9
github.com/getkirby/kirby/commit/a16dbd4329293c2c4b9a375d2badcb27c6337004
github.com/getkirby/kirby/commit/b22d0b64b6478ce6871dc7ec3368d7afaf078688
github.com/getkirby/kirby/releases/tag/4.9.4
github.com/getkirby/kirby/releases/tag/5.4.4
github.com/advisories/GHSA-r3w8-2c5r-h9j9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54005.json
nvd.nist.gov/vuln/detail/CVE-2026-54005
github.com/getkirby/kirby
Left out here: 187 versions. The JSON record has them.