Description
Kirby is an open-source content management system. In versions 5.3.0 and above but prior to 5.4.1, Kirby did not correctly validate the provided user ID, resulting in a path traversal vulnerability. Version 5.3.0 introduced a performance improvement to the Users collection that loaded user objects lazily when first needed. Users were queried by their ID, which was then used to locate the corresponding account directory under site/accounts. This affected the authentication API (accessible to unauthenticated requests), the users API (accessible only to authenticated users), and any other place that uses $users->find() to look up an individual user by a request-provided email or ID. As a result, an attacker could trigger arbitrary PHP file inclusion of files named  index.php (for example, the main PHP files of plugins), the impact of which depends on the logic those files contain. It also allowed probing for the existence of arbitrary directories on the server, letting attackers fingerprint the server and site setup, including installed plugins and the content structure. This issue has been fixed in version 5.4.1.
Published: 2026-07-16
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Kirby, an open‑source CMS by getkirby, suffered a flaw that existed in versions 5.3.0 through 5.4.0. The vulnerability stemmed from a lazy loading of user objects that used an unchecked user ID or email supplied in a request to locate the user’s account directory under site/accounts. Because the identifier was not properly validated, an attacker could embed path‑traversal sequences, causing the system to resolve to arbitrary files. By supplying a request that referenced a PHP file such as index.php, the attacker can trigger inclusion of that file. The code that is executed depends on the content of the included file, but this can lead to remote code execution. This path‑traversal and file‑inclusion flaw corresponds to CWE‑22 and CWE‑98. In addition to code inclusion, the flaw allows probing for the existence of arbitrary directories, enabling fingerprinting of the server’s plugin and content layout.

Affected Systems

The vulnerability affects the open‑source CMS Kirby by getkirby. Software versions from 5.3.0 up to but excluding 5.4.1 are susceptible.

Risk and Exploitability

The high severity is reflected in a CVSS base score of 8.8. The EPSS score is under 1 %, indicating that widespread exploitation is not yet occurring, and the vulnerability does not appear in the CISA KEV list. Attack vectors require only accesses to the user lookup endpoints, which can be reached through the public authentication API or the authenticated user API. The ability to trigger arbitrary PHP inclusion and directory probing can give attackers remote code execution and reconnaissance, making this a potentially high‑impact vulnerability.

Generated by OpenCVE AI on July 31, 2026 at 01:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Kirby installation to version 5.4.1 or later, which removes the path traversal and inclusion logic.
  • If upgrading is not immediately possible, disable or restrict access to the authentication and users APIs so that only authenticated sessions can call $users->find(), and ensure the user ID or email input is validated to contain only expected characters.
  • Apply input sanitization or a safe‑directory check in the user lookup code to prevent construction of filesystem paths that include directory traversal, thereby blocking arbitrary file inclusion.

Generated by OpenCVE AI on July 31, 2026 at 01:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9hx7-c53c-v6x8 Kirby CMS has pre-authentication path traversal and PHP file inclusion during user lookup
History

Fri, 17 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 16 Jul 2026 22:45:00 +0000

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

Thu, 16 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description Kirby is an open-source content management system. In versions 5.3.0 and above but prior to 5.4.1, Kirby did not correctly validate the provided user ID, resulting in a path traversal vulnerability. Version 5.3.0 introduced a performance improvement to the Users collection that loaded user objects lazily when first needed. Users were queried by their ID, which was then used to locate the corresponding account directory under site/accounts. This affected the authentication API (accessible to unauthenticated requests), the users API (accessible only to authenticated users), and any other place that uses $users->find() to look up an individual user by a request-provided email or ID. As a result, an attacker could trigger arbitrary PHP file inclusion of files named  index.php (for example, the main PHP files of plugins), the impact of which depends on the logic those files contain. It also allowed probing for the existence of arbitrary directories on the server, letting attackers fingerprint the server and site setup, including installed plugins and the content structure. This issue has been fixed in version 5.4.1.
Title Kirby: Pre-authentication path traversal and PHP file inclusion during user lookup
Weaknesses CWE-22
CWE-98
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T13:43:43.332Z

Reserved: 2026-05-05T14:39:34.924Z

Link: CVE-2026-44177

cve-icon Vulnrichment

Updated: 2026-07-17T13:43:38.448Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T01:30:05Z

Weaknesses
  • CWE-22

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

  • CWE-98

    Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')