<?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>Sillytavern (&lt;= 1.17.0) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/sillytavern--1.17.0/</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:25:05 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/sillytavern--1.17.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>SillyTavern Session Reuse After Password Change</title><link>https://feed.craftedsignal.io/briefs/2026-05-sillytavern-session-reuse/</link><pubDate>Tue, 12 May 2026 22:25:05 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-sillytavern-session-reuse/</guid><description>SillyTavern versions 1.17.0 and earlier do not invalidate existing sessions after a password change, allowing attackers with stolen session cookies to retain access, even after the victim resets their password, and nullifies the password reset as a recovery measure against session theft.</description><content:encoded><![CDATA[<p>SillyTavern, a popular open-source AI chatbot interface, is vulnerable to session reuse. Prior to version 1.18.0, changing a user&rsquo;s password does not invalidate existing session cookies. This vulnerability stems from the application&rsquo;s reliance on cookie-session for authentication, where session data is stored client-side. An attacker who has obtained a valid session cookie can maintain persistent access to a user&rsquo;s account, even after the user changes their password. The default cookie lifespan of 400 days gives attackers a very long window for potential exploitation. Defenders should ensure that their SillyTavern installations are upgraded to version 1.18.0 or later to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains unauthorized access to a user&rsquo;s valid session cookie through methods like XSS, man-in-the-middle attacks, or physical access to the user&rsquo;s device.</li>
<li>The attacker imports the stolen cookie into their browser.</li>
<li>The attacker authenticates to the SillyTavern application using the imported cookie.</li>
<li>The victim, suspecting account compromise, changes their password via the <code>/api/users/change-password</code> endpoint or <code>/api/users/recover-step2</code> after initiating an account recovery.</li>
<li>The SillyTavern application updates the password hash in the database but does not invalidate the existing session cookie.</li>
<li>The attacker, still possessing the valid cookie, continues to access the victim&rsquo;s account and perform privileged actions.</li>
<li>The attacker views sensitive information, modifies user settings, or interacts with the AI chatbot as the compromised user.</li>
<li>The attacker maintains unauthorized access until the cookie expires, by default after 400 days.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers who have stolen session cookies to maintain persistent control over user accounts. Even after a password reset, attackers can continue accessing sensitive information, impersonate the user, and perform unauthorized actions. With a default cookie lifespan of 400 days, this vulnerability presents a significant risk of long-term account compromise, especially in environments where users may be slow to update their passwords or revoke sessions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade SillyTavern installations to version 1.18.0 or later to address the session invalidation vulnerability.</li>
<li>Enable web server logging and deploy the &ldquo;Detect SillyTavern Session Cookie Use After Password Change&rdquo; Sigma rule to identify suspicious activity associated with session reuse.</li>
<li>Implement strict cookie security policies, including setting the <code>HttpOnly</code> and <code>Secure</code> flags, to reduce the risk of session cookie theft.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>credential-access</category><category>session-reuse</category><category>web-application</category></item><item><title>SillyTavern Authentication Bypass via HTTP Header Injection (CVE-2026-44649)</title><link>https://feed.craftedsignal.io/briefs/2026-05-sillytavern-auth-bypass/</link><pubDate>Tue, 12 May 2026 22:24:31 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-sillytavern-auth-bypass/</guid><description>SillyTavern versions 1.17.0 and earlier are vulnerable to an authentication bypass (CVE-2026-44649) via HTTP header injection, where the application accepts Remote-User and X-Authentik-Username headers for SSO without proper validation, allowing attackers to impersonate any user, including administrators, if SSO is enabled.</description><content:encoded><![CDATA[<p>SillyTavern versions 1.17.0 and earlier contain an authentication bypass vulnerability related to Single Sign-On (SSO) header handling. When SSO is configured with Authelia or Authentik, the application trusts the <code>Remote-User</code> and <code>X-Authentik-Username</code> HTTP headers to automatically log in users. However, there&rsquo;s no validation to ensure these headers originate from a trusted reverse proxy. This lack of validation allows any network client capable of reaching the SillyTavern port to inject arbitrary headers and authenticate as any user, including administrators, without providing valid credentials. This vulnerability is only exploitable when <code>sso.autheliaAuth: true</code> or <code>sso.authentikAuth: true</code> is set in the <code>config.yaml</code> file. This issue was resolved in version 1.18.0 by introducing a configuration option to limit the IP addresses authorized to use SSO headers.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a SillyTavern instance with SSO enabled for Authelia or Authentik (sso.autheliaAuth or sso.authentikAuth set to true in config.yaml).</li>
<li>The attacker sends a POST request to <code>/api/users/list</code> to enumerate valid usernames. This endpoint is publicly accessible.</li>
<li>The server responds with a JSON list of user handles, including administrator accounts.</li>
<li>The attacker crafts an HTTP request, injecting either the <code>Remote-User</code> or <code>X-Authentik-Username</code> header with the target username (e.g., &ldquo;admin-user&rdquo;).</li>
<li>The attacker sends this crafted request to the <code>/login</code> endpoint.</li>
<li>The SillyTavern server&rsquo;s <code>headerUserLogin</code> function reads the injected header and creates an authenticated session for the specified user without any validation.</li>
<li>The attacker receives a valid session cookie (<code>authsession</code>).</li>
<li>The attacker retrieves a CSRF token from the <code>/csrf-token</code> endpoint using the session cookie.</li>
<li>The attacker can now access administrative endpoints (e.g., <code>/api/users/admin/get</code>) using the injected session and CSRF token.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation leads to complete account takeover, enabling an attacker to perform any action authorized for the impersonated user, including accessing sensitive data, modifying configurations, and performing other administrative tasks.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to SillyTavern version 1.18.0 or later, which includes a configuration option to limit authorized IP addresses for SSO headers (see Resolution section in the advisory).</li>
<li>Apply the configuration to limit SSO header authorization to only loopback addresses (127.0.0.1) or trusted reverse proxy IPs, as documented in <a href="https://docs.sillytavern.app/administration/sso/">https://docs.sillytavern.app/administration/sso/</a>.</li>
<li>Deploy the Sigma rule &ldquo;Detect SillyTavern User Enumeration via /api/users/list&rdquo; to identify attempts to enumerate user accounts using the publicly accessible API endpoint.</li>
<li>Deploy the Sigma rule &ldquo;Detect SillyTavern Authentication Bypass via Header Injection&rdquo; to detect requests with injected Remote-User or X-Authentik-Username headers to the /login endpoint.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>authentication-bypass</category><category>header-injection</category><category>account-takeover</category><category>cve-2026-44649</category></item><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>