SillyTavern: insufficient session expiration
High7.5CVE-2026-44648 · Published May 12, 2026 · updated Jun 9, 2026
### Summary Changing a user’s password does not invalidate existing sessions, allowing an attacker with a stolen cookie to retain access even after the victim resets their password. ### Details SillyTavern relies on cookie-session for authentication, storing all session data (user handle, permissions) in a signed cookie. The endpoints POST /api/users/change-password and POST /api/users/recover-step2 only update the password hash in the database but do not expire current sessions. Because the session is stateless and stored entirely in the client cookie, there is no server-side mechanism to revoke a token once issued. ### PoC 1.Log into the same SillyTavern account from two different browsers (e.g., Chrome and Firefox private mode). 2.In Chrome, change the account password under User Settings → Change Password. 3.In Firefox, refresh the page or perform a protected action (e.g., view API keys). 4.Expected: Firefox session should be invalidated and ask for login. 5.Actual: Firefox remains fully authenticated, able to perform all actions as the targeted user. ### Impact An attacker who obtains a valid session cookie (via XSS, MITM, physical access, etc.) can continue using it indefi...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| sillytavern npm | < 1.18.0 | 1.18.0 |
Details and references
### Summary Changing a user’s password does not invalidate existing sessions, allowing an attacker with a stolen cookie to retain access even after the victim resets their password. ### Details SillyTavern relies on cookie-session for authentication, storing all session data (user handle, permissions) in a signed cookie. The endpoints POST /api/users/change-password and POST /api/users/recover-step2 only update the password hash in the database but do not expire current sessions. Because the session is stateless and stored entirely in the client cookie, there is no server-side mechanism to revoke a token once issued. ### PoC 1.Log into the same SillyTavern account from two different browsers (e.g., Chrome and Firefox private mode). 2.In Chrome, change the account password under User Settings → Change Password. 3.In Firefox, refresh the page or perform a protected action (e.g., view API keys). 4.Expected: Firefox session should be invalidated and ask for login. 5.Actual: Firefox remains fully authenticated, able to perform all actions as the targeted user. ### Impact An attacker who obtains a valid session cookie (via XSS, MITM, physical access, etc.) can continue using it indefinitely, even after the legitimate user changes their password. This nullifies the most common recovery measure against session theft. The default cookie lifespan is 400 days, giving an attacker a very long exploitation window. ### Resolution A fix was released in the version 1.18.0, invalidating a session cookie on account password change.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-613
- Also known as
- CVE-2026-44648
More SillyTavern advisories
All SillyTavern| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| May 19 | SillyTavern: SSRF in SearXNG Search Proxy via Unvalidated baseUrl | High8.5 | 1.18.0 |
| May 12 | SillyTavern has a SSRF vulnerability in the CORS proxy middleware | Medium | 1.18.0 |
| May 12 | SillyTavern has a reflected XSS vulnerability in the CORS proxy middleware | Medium | 1.18.0 |
| May 12 | SillyTavern has a Path Traversal issue | Critical9.1 | 1.18.0 |
| May 12 | SillyTavern has Authentication Bypass via SSO Header Injection | Critical9.8 | 1.18.0 |
| Apr 1 | SillyTavern: Incomplete IP validation in /api/search/visit allows SSRF via localhost and IPv6 | Medium5.0 | 1.17.0 |