Description
TREK is a collaborative travel planner. Prior to 3.1.0, when the Journey add-on is enabled, TREK interpolates the unescaped activeSuggestion.title value into journey.frontpage.suggestionText through client/src/i18n/TranslationContext.tsx and renders the result with dangerouslySetInnerHTML in client/src/pages/JourneyPage.tsx. A trip owner can store HTML in a qualifying trip title, and GET /api/journeys/suggestions returns that title through getSuggestions(userId) to a collaborator who opens the authenticated Journey page. The markup is inserted as live DOM in the collaborator's session, enabling content spoofing and UI redress, although the default Content Security Policy blocks inline handlers and script execution. This issue is fixed in version 3.1.0.
Published: 2026-08-20
Score: 2 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

TREK, a collaborative travel planning application, stores the active suggestion title unescaped and injects it into the journey suggestion banner using React's dangerouslySetInnerHTML. A trip owner who is able to set a title can embed arbitrary HTML markup, which is then returned by the /api/journeys/suggestions endpoint to authenticated collaborators who view the Journey page. The inserted markup is rendered as live DOM, enabling content spoofing and UI redress. The default Content Security Policy blocks inline handlers and script execution, but does not prevent the injection of undesired markup, potentially allowing attackers to mislead users about trip information. A user with trip owner privileges can store malicious HTML in a qualifying trip title, and when another authenticated collaborator opens the Journey page, the markup is injected directly into the DOM via dangerouslySetInnerHTML, rendering the attacker’s content and potentially deceiving the collaborator. The vulnerability does not give an attacker code execution or direct data exfiltration, but it undermines the authenticity of the interface and can erode user trust in the platform.

Affected Systems

Vulnerable only in TREK version 3.0.x and earlier when the Journey add‑on is enabled. The fix was introduced in release 3.1.0, so any installation running a prior release with the add‑on active is susceptible.

Risk and Exploitability

According to the CVSS score of 2, the vulnerability is rated low severity. The EPSS score is not available, and the vulnerability is not listed in CISA KEV, indicating a modest exploitation likelihood. The attack vector is client‑side: an attacker requires an authenticated user to open the Journey page and can craft a malicious trip title to influence the DOM of other collaborators. While the impact is limited to UI deception and does not grant remote code execution, it undermines user trust and can cause confusion. The default CSP mitigates script execution, yet the vulnerability persists due to unsanitized HTML insertion.

Generated by OpenCVE AI on August 21, 2026 at 00:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade TREK to version 3.1.0 or later to apply the corrected code.
  • If an upgrade cannot be performed immediately, disable the Journey add‑on to prevent storage and rendering of unescaped trip titles in the suggestion banner.
  • Sanitize any entered trip titles by removing or escaping HTML markup before storage, or enforce input validation that disallows raw HTML in titles.

Generated by OpenCVE AI on August 21, 2026 at 00:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 21 Aug 2026 02:15:00 +0000

Type Values Removed Values Added
First Time appeared Mauriceboe
Mauriceboe trek
Vendors & Products Mauriceboe
Mauriceboe trek

Thu, 20 Aug 2026 22:00:00 +0000

Type Values Removed Values Added
Description TREK is a collaborative travel planner. Prior to 3.1.0, when the Journey add-on is enabled, TREK interpolates the unescaped activeSuggestion.title value into journey.frontpage.suggestionText through client/src/i18n/TranslationContext.tsx and renders the result with dangerouslySetInnerHTML in client/src/pages/JourneyPage.tsx. A trip owner can store HTML in a qualifying trip title, and GET /api/journeys/suggestions returns that title through getSuggestions(userId) to a collaborator who opens the authenticated Journey page. The markup is inserted as live DOM in the collaborator's session, enabling content spoofing and UI redress, although the default Content Security Policy blocks inline handlers and script execution. This issue is fixed in version 3.1.0.
Title TREK: Stored cross-user HTML injection via trip title in the Journey suggestion banner
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T15:30:48.581Z

Reserved: 2026-06-15T18:01:15.512Z

Link: CVE-2026-54505

cve-icon Vulnrichment

Updated: 2026-08-25T15:30:38.719Z

cve-icon NVD

Status : Received

Published: 2026-08-20T22:17:21.263

Modified: 2026-08-25T16:16:54.330

Link: CVE-2026-54505

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T02:00:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')