CVE-2026-44177
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk37th percentile - higher than 37% of all known CVEs
Summary
In Kirby CMS versions 5.3.0 through 5.4.0, a path traversal vulnerability was found due to improper validation of user IDs. An attacker could include arbitrary PHP files named index.php and probe the server's directory structure.
Risk Assessment
An attacker could exploit this vulnerability to achieve remote code execution by including PHP files (e.g., plugins) and to fingerprint the server, potentially leading to further attacks.
Recommendation
Upgrade Kirby CMS to version 5.4.1 or later immediately, which contains the fix for this vulnerability.
Other vulnerabilities in Kirby CMS
See all- CVE-2026-45368High
In Kirby CMS versions prior to 4.9.1 and 5.4.1, a vulnerability was found where URL methods for KirbyTags and image blocks components did not filter malicious URL values that resolve to script execution. Attackers can use URL formats like `javascript://x%0A…` to bypass protection against simple `javascript:` URLs and execute scripts.
- CVE-2026-45334Medium
In Kirby CMS versions prior to 4.9.1 and 5.4.1, the content-locking feature exposed user email addresses and identifiers without checking access permissions. A low-privilege authenticated user could learn the email and ID of any user currently editing a model, including administrators.
- CVE-2026-44176Medium
In Kirby CMS versions prior to 4.9.1 and 5.4.1, the `pages.access` permission was not checked during page draft rendering. An authenticated attacker with knowledge of the full path to an existing draft could access its frontend preview, leading to disclosure of sensitive information.
- CVE-2026-44175High
Kirby CMS versions prior to 4.9.1 and 5.4.1 do not properly sanitize the list field content on save, allowing XSS attacks. An attacker can bypass the Panel and send malicious HTML directly to the API, which will be executed in visitors' browsers.
- CVE-2026-44174High
Kirby CMS before versions 4.9.1 and 5.4.1 does not validate model attributes used in collection queries, allowing attackers to invoke arbitrary model methods. This can lead to disclosure of sensitive data (e.g., password hashes, filesystem paths) or execution of impactful actions (e.g., privilege escalation, mass deletion of models).
- CVE-2026-54004Medium
In Kirby CMS before versions 4.9.4 and 5.4.4, with content.fileRedirects enabled, unauthenticated clean file URL requests for files in top-level draft pages are redirected to physical media URLs without checking page access permissions or preview tokens, leading to disclosure of draft file contents.
- CVE-2026-54002High
A vulnerability in Kirby CMS before versions 4.9.4 and 5.4.4 allows stored cross-site scripting via malicious markup injected as children of unknown HTML/XML tags. The sanitization functions fail to properly filter such input.
- CVE-2026-50188Medium
A vulnerability in Kirby CMS allows HTTP header injection via newline characters in the header value of the headers option in the Http Remote class. An attacker can inject an unintended header into outgoing requests.
- CVE-2026-49276High
A vulnerability in the Kirby content management system allows a scripting link to be injected as the target of a link in the writer field, enabling self-cross-site scripting (XSS) in the Panel. The issue affects versions prior to 4.9.4 and 5.4.4.
- CVE-2026-49274Medium
A vulnerability in the Kirby content management system allows authenticated users with the pages.access permission disabled to confirm the existence of inaccessible pages and retrieve their titles via the pages field. The issue is fixed in versions 4.9.4 and 5.4.4.
Original NVD description (English source)
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.

