{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "3.0.0"
              },
              {
                "fixed": "3.1.0"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "523bca3a20595083f6d78b0de7c338fc208464d5"
            },
            {
              "fixed": "ad893eb1cc75b6d56f402d73a6d41bd48ba7ae11"
            },
            {
              "fixed": "f6af1d67a2630d77dcce39a92ac5599d08d7a5a1"
            }
          ],
          "repo": "https://github.com/liketrek/trek",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-mx6m-qxv8-w624"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-862"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54509.json"
  },
  "details": "TREK is a collaborative travel planner. From 3.0.0 until 3.1.0, the GET /api/journeys/:id/share-link route in server/src/routes/journey.ts returns the result of getJourneyShareLink() from server/src/services/journeyShareService.ts without checking whether the authenticated requester can access the journey. Any ordinary authenticated user can enumerate sequential journey IDs and retrieve tokens from journey_share_tokens for another user's journey. The token grants unauthenticated access through GET /api/public/journey/:token to the shared journey's entries, captions, locations, moods, gallery photos, photo paths, and asset identifiers. This issue is fixed in version 3.1.0.",
  "id": "CVE-2026-54509",
  "modified": "2026-08-23T03:42:24.020495772Z",
  "published": "2026-08-20T21:49:49.877Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/liketrek/TREK/releases/tag/v3.1.0"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54509.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/liketrek/TREK/security/advisories/GHSA-mx6m-qxv8-w624"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-54509"
    },
    {
      "type": "FIX",
      "url": "https://github.com/liketrek/TREK/commit/ad893eb1cc75b6d56f402d73a6d41bd48ba7ae11"
    },
    {
      "type": "FIX",
      "url": "https://github.com/liketrek/TREK/pull/1185"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "TREK IDOR: any authenticated user can read another user's journey share token (full journey leak)"
}