{"id":"CVE-2026-62346","kind":"vulnerability","aliases":["CVE-2026-62346"],"related":[],"title":"Wanderer: trail waypoint fields inject script into viewers' browsers","description":"Wanderer is a self-hosted trail database for saving and sharing adventures. Prior to 0.19.3, an authenticated local user can submit crafted waypoint.name and waypoint.icon values that the trail elevation graph interpolates into an innerHTML template in web/src/lib/vendor/maplibre-elevation-profile/elevationprofile.ts without HTML encoding or icon validation. A victim viewing the elevation profile executes the attacker-controlled script in their browser. Separately, federated waypoints can deliver the same malicious fields across instances without requiring the attacker to have a local account on the receiving instance. The script can expose session data or perform actions in the victim's context. This issue is fixed in version 0.19.3.","summary":"Wanderer, a self-hosted trail database, inserts waypoint name and icon values into an elevation graph without HTML encoding. A crafted waypoint runs attacker script in the browser of anyone who views the elevation profile, which can expose session data or act as the victim.","severity":"high","cvss":7.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["federation","package","self-hosted","wanderer"],"not_affected_if":["federation-disabled-and-trusted-users-only","wanderer-0.19.3-or-later"],"how_to_check":"- Check the installed Wanderer version; the sources say versions before `0.19.3` are affected.\n- Look for user-submitted waypoints with unusual `name` or `icon` values that contain HTML or script.\n- Check whether the instance receives federated waypoints from other instances.","fix":"- Wanderer: move to `0.19.3` or later.","status":"open","published_at":"2026-11-06T19:17:53+00:00","first_seen_at":"2026-11-06T19:43:49+00:00","triaged_at":"2026-11-06T19:45:51+00:00","updated_at":"2026-11-06T19:45:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-06T19:45:51Z","model":"claude-haiku-5-5","output":{"fix":"- Wanderer: move to `0.19.3` or later.","reach":"internet","title":"Wanderer: trail waypoint fields inject script into viewers' browsers","impact":"high","summary":"Wanderer, a self-hosted trail database, inserts waypoint name and icon values into an elevation graph without HTML encoding. A crafted waypoint runs attacker script in the browser of anyone who views the elevation profile, which can expose session data or act as the victim.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wanderer","self-hosted","federation"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker script runs in victim browsers, exposing session data","analyst_note":"","how_to_check":"- Check the installed Wanderer version; the sources say versions before `0.19.3` are affected.\n- Look for user-submitted waypoints with unusual `name` or `icon` values that contain HTML or script.\n- Check whether the instance receives federated waypoints from other instances.","plain_action":"","needs_analyst":false,"not_affected_if":["wanderer-0.19.3-or-later","federation-disabled-and-trusted-users-only"],"who_is_affected":"Self-hosted Wanderer instances before 0.19.3 are exposed. The attacker needs a local account to submit a crafted waypoint, but federated waypoints can deliver the same fields from other instances without a local account on the receiving instance. Instances with federation disabled and only trusted local users are less exposed.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000724,"input_tokens":4394,"output_tokens":569,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':11A,14A '-62346':12A,15A '0.19.3':83C,172C 'account':147C 'across':137C 'act':64B 'action':160C 'adventur':80C 'anyon':52B 'attack':46B,122C,142C 'attacker-control':121C 'authent':85C 'browser':9A,50B,127C 'context':165C 'control':123C 'craft':43B,90C 'cve':10A,13A 'data':62B,157C 'databas':28B,75C 'deliv':132C 'elev':37B,56B,98C,117C 'encod':41B,109C 'execut':119C 'expos':60B,155C 'feder':16B,129C 'field':4A,136C 'fix':169C 'graph':38B,99C 'host':20B,26B,73C 'html':40B,108C 'icon':33B,111C 'inject':5A 'innerhtml':103C 'insert':29B 'instanc':138C,151C 'interpol':100C 'issu':167C 'local':86C,146C 'malici':135C 'name':31B 'packag':17B 'perform':159C 'prior':81C 'profil':57B,118C 'receiv':150C 'requir':140C 'run':45B 'save':77C 'script':6A,47B,124C,153C 'self':19B,25B,72C 'self-host':18B,24B,71C 'separ':128C 'session':61B,156C 'share':79C 'submit':89C 'templat':104C 'trail':2A,27B,74C,97C 'user':87C 'valid':112C 'valu':34B,94C 'version':171C 'victim':67B,114C,163C 'view':54B,115C 'viewer':8A 'wander':1A,21B,22B,68C 'waypoint':3A,30B,44B,130C 'waypoint.icon':93C 'waypoint.name':91C 'web/src/lib/vendor/maplibre-elevation-profile/elevationprofile.ts':106C 'without':39B,107C,139C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Wanderer instances before 0.19.3 are exposed. The attacker needs a local account to submit a crafted waypoint, but federated waypoints can deliver the same fields from other instances without a local account on the receiving instance. Instances with federation disabled and only trusted local users are less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["federation","high","package","selfhosted","wanderer"],"campaign_type":null,"search_a":"'-2026':11A,14A '-62346':12A,15A 'browser':9A 'cve':10A,13A 'field':4A 'inject':5A 'script':6A 'trail':2A 'viewer':8A 'wander':1A 'waypoint':3A","search_b":"'act':64B 'anyon':52B 'attack':46B 'browser':50B 'craft':43B 'data':62B 'databas':28B 'elev':37B,56B 'encod':41B 'expos':60B 'feder':16B 'graph':38B 'host':20B,26B 'html':40B 'icon':33B 'insert':29B 'name':31B 'packag':17B 'profil':57B 'run':45B 'script':47B 'self':19B,25B 'self-host':18B,24B 'session':61B 'trail':27B 'valu':34B 'victim':67B 'view':54B 'wander':21B,22B 'waypoint':30B,44B 'without':39B","search_c":"'0.19.3':83C,172C 'account':147C 'across':137C 'action':160C 'adventur':80C 'attack':122C,142C 'attacker-control':121C 'authent':85C 'browser':127C 'context':165C 'control':123C 'craft':90C 'data':157C 'databas':75C 'deliv':132C 'elev':98C,117C 'encod':109C 'execut':119C 'expos':155C 'feder':129C 'field':136C 'fix':169C 'graph':99C 'host':73C 'html':108C 'icon':111C 'innerhtml':103C 'instanc':138C,151C 'interpol':100C 'issu':167C 'local':86C,146C 'malici':135C 'perform':159C 'prior':81C 'profil':118C 'receiv':150C 'requir':140C 'save':77C 'script':124C,153C 'self':72C 'self-host':71C 'separ':128C 'session':156C 'share':79C 'submit':89C 'templat':104C 'trail':74C,97C 'user':87C 'valid':112C 'valu':94C 'version':171C 'victim':114C,163C 'view':115C 'wander':68C 'waypoint':130C 'waypoint.icon':93C 'waypoint.name':91C 'web/src/lib/vendor/maplibre-elevation-profile/elevationprofile.ts':106C 'without':107C,139C","first_public_at":"2026-07-02T13:02:44+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-62346","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-62346","severity":null,"published_at":"2026-11-06T19:17:53+00:00","modified_at":"2026-11-06T19:17:53+00:00","first_seen_at":"2026-11-06T19:43:49+00:00","fetched_at":"2026-11-06T19:43:49+00:00","note":null}],"documents":[{"id":88847,"url":"https://github.com/open-wanderer/wanderer/commit/6135332ea69a3d9a4fe1dec5af1cb1ee74f70e2b","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":88848,"url":"https://github.com/open-wanderer/wanderer/releases/tag/v0.19.3","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":89357,"url":"https://github.com/open-wanderer/wanderer/security/advisories/GHSA-m7v2-6gj3-3g2p","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-02T13:02:44+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}