Description
Kirby is an open-source content management system. From 5.0.0 until 5.5.2, Kirby's REST API chunk upload handler in src/Api/Upload.php did not run the relevant upload authorization preflight in Kirby\Api\Upload::process() before Kirby\Api\Upload::processChunk() persisted chunk data. An authenticated user with the access.panel permission enabled but with files.create, files.replace, and user/users.update permissions disabled could submit requests with an Upload-Length header and leave unfinished chunks in site/cache/.uploads for 24 hours. Repeating this process could consume attacker-controlled temporary storage, prevent other users from uploading files, or prevent site logic from storing data, although final permission checks still prevented unauthorized files from reaching the content or site/accounts directories. This issue is fixed in version 5.5.2.
Published: 2026-08-31
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Kirby’s REST API allows an authenticated user with the "access.panel" permission but lacking file creation or replacement rights to upload incomplete file chunks without performing the necessary authorization check before persisting them. The COS holds temporary files in the site’s cache directory and leaves them unused for 24 hours, consuming attacker‑controlled storage. Repeating the abuse can deplete disk space, prevent other users from uploading files, or disrupt site logic that relies on file storage, although the final checks prevent files from being placed in the primary content or account directories. This flaw is a missing authorization check for a sensitive resource (CWE‑862).

Affected Systems

The vulnerability exists in Kirby versions 5.0.0 through 5.5.2 inclusive. All instances of the GetKirby:Kirby CMS running these versions are affected. The fix was released in Kirby 5.5.2 and later.

Risk and Exploitability

The CVSS score of 7.1 indicates high impact and a moderate to high probability of exploitation with an authenticated attacker. The EPSS score is not available, so the current exploitation probability cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. An attacker needs an account with "access.panel" permission, which is a realistic scenario on multi‑user sites, and can reach the API endpoint via standard HTTP requests. Exploitation results in storage exhaustion and potential denial of service but does not grant arbitrary code execution or unauthorized file access to core directories.

Generated by OpenCVE AI on August 31, 2026 at 23:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Kirby to version 5.5.2 or later, which restores proper authorization checks before persisting file chunks.
  • If an upgrade cannot be performed immediately, restrict access to the API upload endpoint by disabling the "access.panel" permission for all users except those who truly require it, or block the endpoint via a network firewall or reverse‑proxy rule.
  • Limit write permissions of the site/cache/.uploads directory to the system user that runs Kirby and monitor disk usage to prevent exhaustion of temporary storage.

Generated by OpenCVE AI on August 31, 2026 at 23:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-67mx-6wf2-92xp Kirby: File upload permissions are not checked during processing of chunk data
History

Mon, 31 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Getkirby
Getkirby kirby
Vendors & Products Getkirby
Getkirby kirby

Mon, 31 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
Description Kirby is an open-source content management system. From 5.0.0 until 5.5.2, Kirby's REST API chunk upload handler in src/Api/Upload.php did not run the relevant upload authorization preflight in Kirby\Api\Upload::process() before Kirby\Api\Upload::processChunk() persisted chunk data. An authenticated user with the access.panel permission enabled but with files.create, files.replace, and user/users.update permissions disabled could submit requests with an Upload-Length header and leave unfinished chunks in site/cache/.uploads for 24 hours. Repeating this process could consume attacker-controlled temporary storage, prevent other users from uploading files, or prevent site logic from storing data, although final permission checks still prevented unauthorized files from reaching the content or site/accounts directories. This issue is fixed in version 5.5.2.
Title Kirby: File upload permissions are not checked during processing of chunk data
Weaknesses CWE-862
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-31T20:46:02.280Z

Reserved: 2026-08-06T16:28:51.181Z

Link: CVE-2026-71415

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T21:17:48.057

Modified: 2026-08-31T21:17:48.057

Link: CVE-2026-71415

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T23:15:04Z

Weaknesses