CVE-2026-63188
CVE-2026-63188 · logto-tunnel serves files outside --experience-path via path traversal
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Logto is the modern, open-source auth infrastructure for SaaS and AI apps. Prior to 0.3.9, the Logto Tunnel npm package enabled createStaticFileProxy from packages/tunnel/src/commands/tunnel/index.ts and passed request.url from static asset requests through packages/tunnel/src/commands/tunnel/utils.ts using path.join(staticPath, request.url) and then fs.open(requestPath, "r") without URL normalization or a containment check. When --experience-path was enabled and the tunnel port was reachable, an unauthenticated requester could send a path containing ../ to createStaticFileProxy and read files outside the configured static directory that were readable by the logto-tunnel process. The service used server.listen(port), which could expose the tunnel to other hosts depending on the platform and deployment. This issue is fixed in version 0.3.9.
CVSS 8.7 · High · EPSS 0.5% · Fix available
- Published
- Updated
Stack: node
Affected products and versions
logto
- Versions
- < 0.3.9: Affected
No fix published
@logto/tunnel npm
- Affected ranges
- SEMVER: < 0.3.9
Update to 0.3.9
Original sources
- https://github.com/logto-io/logto/security/advisories/GHSA-rxjr-6c9q-h67x
- https://github.com/logto-io/logto/pull/9113
- https://github.com/logto-io/logto/commit/5686815955534f803d3d50738259efd0f741e62c
- https://github.com/logto-io/logto/releases/tag/@logto/[email protected]
- https://nvd.nist.gov/vuln/detail/CVE-2026-63188