<?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/"><channel><title>CVE-2026-44650 — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/cve-2026-44650/</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>Tue, 12 May 2026 22:24:16 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/cve-2026-44650/feed.xml" rel="self" type="application/rss+xml"/><item><title>SillyTavern Unauthenticated Path Traversal in Extensions API</title><link>https://feed.craftedsignal.io/briefs/2026-05-sillytavern-path-traversal/</link><pubDate>Tue, 12 May 2026 22:24:16 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-sillytavern-path-traversal/</guid><description>SillyTavern versions 1.17.0 and earlier contain a path traversal vulnerability, CVE-2026-44650, in the `/api/extensions/delete` endpoint (and others), allowing an unauthenticated user to delete the entire extensions directory by providing '.' as the extension name, leading to data loss and potential remote exploitation via chaining with CVE-2025-59159.</description><content:encoded><![CDATA[<p>SillyTavern, a popular open-source AI storytelling application, is vulnerable to a path traversal attack (CVE-2026-44650) affecting versions 1.17.0 and earlier. The vulnerability resides in the extensions API endpoints, specifically <code>/api/extensions/delete</code>, <code>/api/extensions/update</code>, <code>/api/extensions/version</code>, <code>/api/extensions/branches</code>, and <code>/api/extensions/switch</code>. Due to insufficient validation and sanitization of the <code>extensionName</code> parameter, an unauthenticated attacker can send a crafted HTTP POST request with <code>extensionName: &quot;.&quot;</code> to these endpoints, causing the application to recursively delete the entire extensions directory. This vulnerability is exploitable by anyone with network access to the SillyTavern instance in its default configuration (basicAuthMode: false). Furthermore, this can be chained with CVE-2025-59159 (DNS rebinding) to enable remote exploitation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker identifies a vulnerable SillyTavern instance running version 1.17.0 or earlier.</li>
<li>The attacker crafts an HTTP POST request to the <code>/api/extensions/delete</code> endpoint (or <code>/update</code>, <code>/version</code>, <code>/branches</code>, <code>/switch</code>).</li>
<li>The attacker includes a JSON payload in the request body with the <code>extensionName</code> parameter set to <code>.</code>.</li>
<li>The application receives the request and proceeds to the <code>src/endpoints/extensions.js</code> file.</li>
<li>The application&rsquo;s validation logic incorrectly allows the <code>.</code> value because the check <code>!request.body.extensionName</code> occurs before sanitization.</li>
<li>The <code>sanitize-filename</code> function converts the <code>.</code> to an empty string &ldquo;&rdquo;.</li>
<li>The <code>path.join(basePath, &quot;&quot;)</code> function concatenates the base extensions path with the empty string, resulting in the <code>basePath</code> itself.</li>
<li>The application then executes <code>fs.promises.rm(extensionPath, { recursive: true })</code>, effectively deleting the entire extensions directory (e.g., <code>data\default-user\extensions\</code>).</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this path traversal vulnerability (CVE-2026-44650) leads to the complete and unrecoverable removal of all installed third-party extensions from the SillyTavern instance. The default configuration of SillyTavern does not require authentication, making the vulnerability easily exploitable. If the application is configured with <code>global: true</code> and admin privileges, the attacker can also delete the global extensions directory, affecting all users. The vulnerability can be combined with CVE-2025-59159 (DNS rebinding) to enable unauthenticated remote exploitation from a malicious website. The CVSS score is 9.1 (Critical).</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the suggested fix from the advisory to the <code>/api/extensions/delete</code>, <code>/api/extensions/update</code>, <code>/api/extensions/version</code>, <code>/api/extensions/branches</code>, and <code>/api/extensions/switch</code> endpoints, ensuring that validation occurs <em>after</em> sanitization and including a path traversal guard (see &ldquo;Suggested Fix&rdquo; in the content).</li>
<li>Deploy the Sigma rule <code>Detect SillyTavern Path Traversal Attempt via Extension Deletion</code> to detect attempts to exploit CVE-2026-44650 targeting the <code>/api/extensions/delete</code> endpoint based on the <code>extensionName</code> parameter value.</li>
<li>Deploy the Sigma rule <code>Detect SillyTavern Path Traversal Attempt via Other Endpoints</code> to detect attempts to exploit CVE-2026-44650 on the <code>/api/extensions/update</code>, <code>/api/extensions/version</code>, <code>/api/extensions/branches</code>, and <code>/api/extensions/switch</code> endpoints.</li>
<li>Monitor web server logs for HTTP POST requests to the extensions API endpoints with suspicious <code>extensionName</code> values as an indicator of potential exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>path-traversal</category><category>web-application</category><category>CVE-2026-44650</category></item></channel></rss>