CVE-2026-44174
HighCVSS 8.7Exploitation Probability (EPSS)
Low risk20th percentile - higher than 20% of all known CVEs
Summary
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).
Risk Assessment
The organization is at risk of sensitive data leakage (password hashes, file paths) and unauthorized actions such as privilege escalation or content deletion if the attacker has appropriate permissions.
Recommendation
Immediately update Kirby CMS to version 4.9.1 or 5.4.1, which include the fix for model attribute validation.
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-44177High
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.
- 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-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. Prior to 4.9.1 and 5.4.1, Kirby did not validate the model attributes that were used in its collection queries, allowing attackers to include arbitrary model methods in their queries. This includes methods with sensitive data such as password() (disclosing the password hash) or root() (disclosing the absolute filesystem path on the server) as well as methods that perform impactful actions such as loginPasswordless() (causing a privilege escalation to another user) or delete() (deleting all queried models in one go if the authenticated user has appropriate permissions). This issue has been fixed in versions 4.9.1 and 5.4.1.

