Skip to content
Heist/ feed
Back to feed
High

Kirby: Pre-authentication path traversal and PHP file inclusion during user lookup

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-44177
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 06:08 UTC · Revision 1

Source evidence

Kirby: Pre-authentication path traversal and PHP file inclusion during user lookup

core-osv · Original source

Published 16 Jul 2026, 21:19 UTC

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.

osv:CVE-2026-44177
Complete source record
{
  "id": "c616fa37d9e99c214a0ca2b8b8e18f91934b0aea26bf0836a5e64faaf55922fd",
  "url": "https://osv.dev/vulnerability/CVE-2026-44177",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Kirby: Pre-authentication path traversal and PHP file inclusion during user lookup",
    "summary": "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.",
    "evidence": "osv:CVE-2026-44177",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-44177",
      "aliases": [
        "CVE-2026-44177",
        "GHSA-9hx7-c53c-v6x8"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/getkirby/kirby",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3e1446322398c5b7705a03a9e8ad14920b9bbfa6"
                },
                {
                  "fixed": "b583392a724601698426c21c593b6a3d6d702c49"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "5.3.0"
                      },
                      {
                        "fixed": "5.4.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b583392a724601698426c21c593b6a3d6d702c49"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "5.4.1"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.4.1"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "5.4.0",
            "5.3.3",
            "5.3.2",
            "5.3.1",
            "5.3.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44177.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.923672074Z",
      "provider": "osv",
      "references": [
        "https://github.com/getkirby/kirby/releases/tag/5.4.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44177.json",
        "https://github.com/getkirby/kirby/security/advisories/GHSA-9hx7-c53c-v6x8",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-44177"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-98"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44177.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-44177",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510982,
  "published_at": "2026-07-16T21:19:16.783+00:00"
}