Description
Kirby is an open-source content management system. Prior to 4.9.5 and 5.5.2, depending on the release line, Kirby's media handler in src/Cms/Media.php allowed Kirby\Cms\Media::thumb() to append a path-bearing filename to a validated parent media directory. On nginx, PHP's built-in server, or Apache with AllowEncodedSlashes enabled, a remote attacker could submit encoded slash characters such as %2f in the filename and traverse outside the parent's media directory. Differences between responses for existing and nonexistent thumbnail configurations disclosed whether an arbitrary .json file existed, and a .json file containing a valid filename key could cause the referenced image to be returned and the job file to be deleted. The related file::version path in src/Filesystem/Asset.php also accepted ../ sequences outside the intended index root. This issue is fixed in versions 4.9.5 and 5.5.2.
Published: 2026-08-31
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An attacker can exploit a path‑traversal flaw in Kirby’s media handling component (Cms/Media.php) to craft a filename containing encoded slashes that bypass directory validation. This flaw allows the thumb() method to access any file outside the intended media directory, leading to potential Remote File Read and, in some circumstances, deletion of a related job file. The vulnerability is effective when served by nginx, PHP’s built‑in server, or Apache with AllowEncodedSlashes enabled, and can also affect the Asset.php file path resolution.

Affected Systems

Vulnerable releases are all Kirby versions before 4.9.5 on the 4.x branch and before 5.5.2 on the 5.x branch. The affected vendor is getkirby:kirby. Users of these releases must apply the patch included in releases 4.9.5 and 5.5.2 or later.

Risk and Exploitability

The vulnerability carries a CVSS score of 8.2, classifying it as High severity. No EPSS score is published, so the baseline probability of exploitation is unclear, but the CVE is not listed in CISA’s KEV database. Because the flaw can be triggered purely via HTTP requests without authentication, the attack vector is remote and can disclose arbitrary files on the host. An attacker could use the flaw to read sensitive configuration or code files, or to delete a job file, thereby impacting confidentiality, integrity, and availability of the affected site.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Kirby to version 4.9.5 or 5.5.2 (or later), which contains a patched media handler.
  • If an immediate upgrade is not possible, block encoded slash characters in your web server configuration: disable AllowEncodedSlashes in Apache or remove %2f handling in nginx to prevent the traversal payload from reaching the application.
  • After applying a temporary block, audit the web server and CMS configuration for other path‑traversal or arbitrary file read paths, and limit file permissions so the application process cannot read files outside its intended document root.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9vx2-j98c-p72w Kirby: Access to image files and limited access to JSON files outside of the site root via path traversal in the media handling
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. Prior to 4.9.5 and 5.5.2, depending on the release line, Kirby's media handler in src/Cms/Media.php allowed Kirby\Cms\Media::thumb() to append a path-bearing filename to a validated parent media directory. On nginx, PHP's built-in server, or Apache with AllowEncodedSlashes enabled, a remote attacker could submit encoded slash characters such as %2f in the filename and traverse outside the parent's media directory. Differences between responses for existing and nonexistent thumbnail configurations disclosed whether an arbitrary .json file existed, and a .json file containing a valid filename key could cause the referenced image to be returned and the job file to be deleted. The related file::version path in src/Filesystem/Asset.php also accepted ../ sequences outside the intended index root. This issue is fixed in versions 4.9.5 and 5.5.2.
Title Kirby: Access to image files and limited access to JSON files outside of the site root via path traversal in the media handling
Weaknesses CWE-22
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-31T20:53:00.338Z

Reserved: 2026-08-17T23:49:03.449Z

Link: CVE-2026-75594

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-75594

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')