p PatchFirst

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

Check your server →