Skip to content
Heist/ feed
Back to feed
Medium

Kurrier: Authenticated cross-user authorization bypass in Kurrier API

Type: advisorySources: OSV

Kurrier is a modern, self-hosted workspace for email, calendar, contacts, and storage. Prior to 1.2.4, Kurrier API endpoints for listing and retrieving webhook and identity resources did not enforce ownership checks for authenticated API requests. An attacker with a valid API key could use another account's identifiers to read and enumerate webhook and identity resources belonging to that account through apps/worker/server/routes/api/kurrier/webhooks/[id].get.ts, apps/worker/server/routes/api/kurrier/webhooks/index.get.ts, apps/worker/server/routes/api/kurrier/identities/[id].get.ts, and apps/worker/server/routes/api/kurrier/identities/index.get.ts. Anonymous requests and invalid API keys were rejected, and cross-user modification operations were blocked, but affected GET and list operations could expose another user's resource metadata. This issue is fixed in version 1.2.4.

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

Source evidence

Kurrier: Authenticated cross-user authorization bypass in Kurrier API

core-osv · Original source

Published 18 Aug 2026, 18:01 UTC

Kurrier is a modern, self-hosted workspace for email, calendar, contacts, and storage. Prior to 1.2.4, Kurrier API endpoints for listing and retrieving webhook and identity resources did not enforce ownership checks for authenticated API requests. An attacker with a valid API key could use another account's identifiers to read and enumerate webhook and identity resources belonging to that account through apps/worker/server/routes/api/kurrier/webhooks/[id].get.ts, apps/worker/server/routes/api/kurrier/webhooks/index.get.ts, apps/worker/server/routes/api/kurrier/identities/[id].get.ts, and apps/worker/server/routes/api/kurrier/identities/index.get.ts. Anonymous requests and invalid API keys were rejected, and cross-user modification operations were blocked, but affected GET and list operations could expose another user's resource metadata. This issue is fixed in version 1.2.4.

osv:CVE-2026-50167
Complete source record
{
  "id": "89f43f7f843ac2e27f3e417d7567ab77ded1fba309e8e8cdf660355015409ef6",
  "url": "https://osv.dev/vulnerability/CVE-2026-50167",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Kurrier: Authenticated cross-user authorization bypass in Kurrier API",
    "summary": "Kurrier is a modern, self-hosted workspace for email, calendar, contacts, and storage. Prior to 1.2.4, Kurrier API endpoints for listing and retrieving webhook and identity resources did not enforce ownership checks for authenticated API requests. An attacker with a valid API key could use another account's identifiers to read and enumerate webhook and identity resources belonging to that account through apps/worker/server/routes/api/kurrier/webhooks/[id].get.ts, apps/worker/server/routes/api/kurrier/webhooks/index.get.ts, apps/worker/server/routes/api/kurrier/identities/[id].get.ts, and apps/worker/server/routes/api/kurrier/identities/index.get.ts. Anonymous requests and invalid API keys were rejected, and cross-user modification operations were blocked, but affected GET and list operations could expose another user's resource metadata. This issue is fixed in version 1.2.4.",
    "evidence": "osv:CVE-2026-50167",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-50167",
      "aliases": [
        "CVE-2026-50167",
        "GHSA-f7h3-f5vh-3764"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/kurrier-org/kurrier",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "abc4986cea589e03372b94d73218f071d94c8bcc"
                },
                {
                  "fixed": "22fad36fb1bc79e3038184ddd485fb235217475c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.4"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "22fad36fb1bc79e3038184ddd485fb235217475c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "abc4986cea589e03372b94d73218f071d94c8bcc"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.2.4"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.2.3",
            "v1.1.12",
            "v1.1.9",
            "v1.1.8",
            "v1.1.7",
            "v1.1.5",
            "v1.1.4",
            "v1.1.3",
            "v1.1.2",
            "v1.1.1",
            "v1.0.4",
            "v1.0.3",
            "v1.0.2",
            "v0.0.101",
            "v0.0.100",
            "v0.0.98",
            "v0.0.97",
            "v0.0.94",
            "v0.0.91",
            "v0.0.90",
            "v0.0.86",
            "v0.0.85",
            "v0.0.80",
            "v0.0.78",
            "v0.0.77",
            "v0.0.76",
            "v0.0.75",
            "v0.0.74",
            "v0.0.73",
            "v0.0.72",
            "v0.0.71",
            "v0.0.70",
            "v0.0.69",
            "v0.0.68",
            "v0.0.66",
            "v0.0.65",
            "v0.0.64",
            "v0.0.63",
            "v0.0.61",
            "v0.0.60",
            "v0.0.59",
            "v0.0.58",
            "v0.0.55",
            "v0.0.54",
            "v0.0.53",
            "v0.0.52",
            "v0.0.51",
            "v0.0.50",
            "v0.0.49",
            "v0.0.48",
            "v0.0.47",
            "v0.0.46",
            "v0.0.45",
            "v0.0.44",
            "v0.0.43",
            "v0.0.42",
            "v0.0.41",
            "v0.0.40",
            "v0.0.39",
            "v0.0.38",
            "v0.0.37",
            "v0.0.36",
            "v0.0.35",
            "v0.0.34",
            "v0.0.33",
            "v0.0.32",
            "v0.0.31",
            "v0.0.30",
            "v0.0.28",
            "v0.0.27",
            "v0.0.26",
            "v0.0.25",
            "v0.0.24",
            "v0.0.23",
            "v0.0.22",
            "v0.0.21",
            "v0.0.20",
            "v0.0.19",
            "v0.0.18",
            "v0.0.16",
            "v0.0.17",
            "v",
            "v0.0.15",
            "v0.0.14",
            "v0.0.13",
            "v0.0.12",
            "v0.0.11",
            "v0.0.10",
            "v0.0.5"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50167.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.125560899Z",
      "provider": "osv",
      "references": [
        "https://github.com/kurrier-org/kurrier/releases/tag/v1.2.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50167.json",
        "https://github.com/kurrier-org/kurrier/security/advisories/GHSA-f7h3-f5vh-3764",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-50167",
        "https://github.com/kurrier-org/kurrier/commit/22fad36fb1bc79e3038184ddd485fb235217475c",
        "https://github.com/kurrier-org/kurrier/pull/446"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-639"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50167.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-50167",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492979,
  "published_at": "2026-08-18T18:01:08.311+00:00"
}