{"id":"CVE-2026-63188","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-63188","summary":"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…","details":"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.","published":"2026-08-19T19:47:05.155Z","modified":"2026-08-19T19:47:05.155Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":{"url":"https://github.com/logto-io/logto/pull/9113","label":"logto-io/logto#9113"},"references":[{"type":"WEB","url":"https://github.com/logto-io/logto/security/advisories/GHSA-rxjr-6c9q-h67x"},{"type":"WEB","url":"https://github.com/logto-io/logto/pull/9113"},{"type":"WEB","url":"https://github.com/logto-io/logto/commit/5686815955534f803d3d50738259efd0f741e62c"},{"type":"WEB","url":"https://github.com/logto-io/logto/releases/tag/@logto/tunnel@0.3.9"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-08-19T19:47:05.155Z"}}