<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Logto - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/logto/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 19 Aug 2026 22:33:21 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/logto/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Path Traversal in @logto/tunnel Service</title><link>https://feed.craftedsignal.io/briefs/2026-08-logto-tunnel-traversal/</link><pubDate>Wed, 19 Aug 2026 22:33:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-logto-tunnel-traversal/</guid><description>The @logto/tunnel package (v0.3.8 and earlier) is vulnerable to a path traversal attack allowing unauthenticated, remote read access to local files via improper URL sanitization.</description><content:encoded><![CDATA[<p>The <code>@logto/tunnel</code> CLI tool, commonly used for testing Logto sign-in experiences, contains a high-severity path traversal vulnerability tracked as CVE-2026-63188. The vulnerability resides in the static asset proxy implementation within <code>packages/tunnel/src/commands/tunnel/utils.ts</code>. When the tunnel is started with the <code>--experience-path</code> flag, the application serves files from this directory using a proxy that fails to validate or normalize incoming request URLs.</p>
<p>By crafting a request containing directory traversal sequences (e.g., <code>../</code>), an unauthenticated network actor can escape the intended static file root. Because the server uses <code>path.join</code> to resolve the final filesystem path without subsequent containment checks, it directly accesses any file readable by the user process running the tunnel. This is particularly critical when the tunnel is exposed to network interfaces, allowing attackers to exfiltrate local configuration, development environment secrets, or sensitive files from the host machine.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The target deploys a Logto tunnel service using the <code>logto-tunnel</code> CLI and specifies a custom UI directory via the <code>--experience-path</code> option.</li>
<li>The service binds to a network port (e.g., 9000) on all interfaces, exposing the static proxy functionality.</li>
<li>An attacker identifies the accessible tunnel port via network scanning or local internal reconnaissance.</li>
<li>The attacker crafts an HTTP request to the tunnel port with a path containing traversal sequences, such as <code>GET /../../etc/passwd HTTP/1.1</code>.</li>
<li>The <code>packages/tunnel/src/commands/tunnel/utils.ts</code> module receives the request and appends the malicious URL directly to the base <code>staticPath</code> using <code>path.join</code>.</li>
<li>The application performs an <code>fs.open</code> call on the resulting path, successfully resolving to a file outside the designated root.</li>
<li>The tunnel service returns the contents of the requested file in the HTTP response body to the attacker.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthenticated remote attackers to read arbitrary files from the filesystem of the host running <code>logto-tunnel</code>. In development environments where this tool is typically deployed, this can lead to the exfiltration of credentials, API keys, and sensitive project configuration files.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update <code>@logto/tunnel</code> to a version containing the patch for CVE-2026-63188.</li>
<li>Restrict network access to the tunnel service by binding only to <code>localhost</code> (127.0.0.1) if remote access is not required for testing.</li>
<li>Enable web server logs to monitor for requests containing path traversal sequences (<code>../</code>) targeting the tunnel port.</li>
<li>Use network access control lists (ACLs) to block external or unauthorized internal connections to the configured tunnel port.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>