Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with any valid TREK account
-
DeliverySend GET /api/journeys/{id}/share-link iterating sequential IDs
-
ExploitCollect share tokens for journeys owned by other users
-
ExecutionAccess GET /api/public/journey/{stolen-token} without authentication
-
ImpactRead victim's journey entries, GPS locations, moods, captions, and gallery photo paths
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated TREK user account on the target instance - any ordinary registered user qualifies, as no elevated role or admin privilege is needed (CVSS PR:L). The attack relies on journey IDs being enumerable; the description implies sequential integer IDs, which makes enumeration straightforward with no rate-limit or lockout bypass required. The second phase of the attack - accessing stolen tokens via the public endpoint - requires no authentication at all, meaning tokens can be distributed to unauthenticated third parties after retrieval. Limiting factors: the attacker must have a legitimate account on the specific TREK instance being targeted (it cannot be exploited by fully unauthenticated outsiders at the token-retrieval stage); instances with a small or single-user user base have minimal practical impact; non-sequential or UUID-based journey IDs would significantly raise exploitation difficulty, though the advisory does not confirm ID format protection exists in pre-3.1.0 versions. |
| Impact | The NVD CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N is consistent with the description: the attack is network-reachable, requires no special conditions (AC:L), demands only a low-privilege authenticated account (PR:L), needs no victim interaction, and yields high confidentiality loss with no integrity or availability impact, producing a 6.5 medium base score. However, the practical risk is elevated beyond the numeric score for multi-tenant instances: the sequential ID enumeration removes any meaningful attack complexity, the stolen token permanently grants unauthenticated downstream access until rotated, and the exposed data set (GPS coordinates, mood journals, photo paths, captions) carries significant personal privacy implications. No EPSS score was provided in the source data, so exploitation probability cannot be quantified. There is no CISA KEV listing and no known POC, indicating opportunistic exploitation has not been widely observed. SSVC signals: exploitation status is PoC-absent, the attack is automatable (simple loop over integer IDs), and the technical impact is partial (data read-only, no code execution). Overall assessment: real priority for any internet-facing or multi-tenant TREK 3.0.x deployment, but limited blast radius for single-user or private instances. |
| Exploit ScenarioDerived | An attacker with any valid TREK account sends authenticated GET requests iterating /api/journeys/1/share-link, /api/journeys/2/share-link, and so on, collecting share tokens for journeys they do not own. They then make unauthenticated GET requests to /api/public/journey/{stolen-token} to read the victims' travel entries, GPS waypoints, mood logs, and gallery photo URLs - all without requiring the victims to take any action. No public proof-of-concept code has been identified, but the attack requires only basic HTTP requests and no specialized tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Share-link token theft in TREK versions 3.0.0 through 3.0.x allows any ordinary authenticated user to exfiltrate private journey data belonging to other users. By iterating sequential journey IDs against the unguarded GET /api/journeys/:id/share-link endpoint, an attacker retrieves valid share tokens for journeys they do not own; those tokens then grant unauthenticated read access to the victim's travel entries, captions, GPS locations, moods, gallery photos, photo file paths, and asset identifiers via the public endpoint GET /api/public/journey/:token. No public exploit code or CISA KEV listing exists at time of analysis; the NVD CVSS scores this 6.5 medium, but the high confidentiality impact on personal travel data warrants prompt patching on any multi-tenant TREK deployment.
RemediationAI
Upgrade to TREK version 3.1.0, available at https://github.com/liketrek/TREK/releases/tag/v3.1.0; this is the vendor-confirmed fix per the GitHub security advisory GHSA-mx6m-qxv8-w624 and commit ad893eb1cc75b6d56f402d73a6d41bd48ba7ae11 (https://github.com/liketrek/TREK/commit/ad893eb1cc75b6d56f402d73a6d41bd48ba7ae11). The fix was also tracked in pull request #1185 (https://github.com/liketrek/TREK/pull/1185). If an immediate upgrade is not possible, operators of multi-tenant instances should consider temporarily disabling the GET /api/journeys/:id/share-link endpoint via reverse proxy or WAF rule until the patch is applied; note this breaks legitimate share-link generation for all users. Additionally, invalidating all existing tokens in the journey_share_tokens table after patching is advisable, as previously leaked tokens remain valid until rotated or expired.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
TREK is a Node.js collaborative travel planner (CPE: cpe:2.3:a:mauriceboe:trek:*:*:*:*:*:*:*:*). The vulnerable code path sits in server/src/routes/journey.ts, which exposes GET /api/journeys/:id/share-link and calls getJourneyShareLink() from server/src/services/journeyShareService.ts. The route retrieves and returns a share token from the journey_share_tokens table without verifying that the authenticated requesting user is an owner or authorized member of the journey identified by the :id path parameter. This is a textbook CWE-862 (Missing Authorization) failure: the server authenticates the request (confirming the caller is a valid user) but skips the authorization step (confirming that user may access the specific resource). Journey IDs appear to be sequential integers, making enumeration trivial with no brute-force resistance. A second design issue compounds the risk: the share token itself grants fully unauthenticated access through a separate public endpoint, meaning once a token is stolen by an authenticated attacker, it can be shared with entirely unauthenticated third parties.
Know when Trek gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
PR:L because any authenticated TREK account suffices; C:H because full journey data including locations and photos is exposed; no integrity or availability impact applies.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Server-side request forgery in TREK before 3.3.0 allows an authenticated user (CVSS PR:L) to persist an attacker-control
Authentication bypass in TREK collaborative travel planner (versions prior to 2.7.2) allows authenticated attackers with
TREK, a collaborative travel-planning web application, authorizes the DELETE /api/trips/:tripId/collab/notes/:noteId/fil
Path traversal in the liketrek TREK Public Journey Photo Proxy controller allows remote attackers - without authenticati
Improper authentication in liketrek TREK up to version 3.0.22 allows a remote unauthenticated attacker to bypass the OID
Server-side request forgery in TREK (versions prior to 3.4.0) allows an authenticated user to reach internal services or
Incorrect authorization in liketrek TREK's Journey Photo Proxy (all versions through 3.0.22) enables remote unauthentica
Server-Side Request Forgery in TREK, a collaborative travel planner, allows any authenticated user to pivot the server i
Authentication bypass in liketrek TREK up to v3.0.22 allows a remote attacker with valid credentials to circumvent two-f
TREK, a self-hosted collaborative travel planner, returns complete trip itinerary data - day plans, assignments, notes,
SQL injection in liketrek TREK's Journey Entry Update endpoint allows authenticated remote attackers to manipulate under
Insecure direct object reference in TREK collaborative travel planner before 3.1.3 allows any authenticated user with fi
EUVD-2026-63639
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB