SillyTavern Authentication Bypass via HTTP Header Injection (CVE-2026-44649)
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.
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 Remote-User and X-Authentik-Username HTTP headers to automatically log in users. However, there’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 sso.autheliaAuth: true or sso.authentikAuth: true is set in the config.yaml 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.
Attack Chain
- The attacker identifies a SillyTavern instance with SSO enabled for Authelia or Authentik (sso.autheliaAuth or sso.authentikAuth set to true in config.yaml).
- The attacker sends a POST request to
/api/users/listto enumerate valid usernames. This endpoint is publicly accessible. - The server responds with a JSON list of user handles, including administrator accounts.
- The attacker crafts an HTTP request, injecting either the
Remote-UserorX-Authentik-Usernameheader with the target username (e.g., “admin-user”). - The attacker sends this crafted request to the
/loginendpoint. - The SillyTavern server’s
headerUserLoginfunction reads the injected header and creates an authenticated session for the specified user without any validation. - The attacker receives a valid session cookie (
authsession). - The attacker retrieves a CSRF token from the
/csrf-tokenendpoint using the session cookie. - The attacker can now access administrative endpoints (e.g.,
/api/users/admin/get) using the injected session and CSRF token.
Impact
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.
Recommendation
- 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).
- Apply the configuration to limit SSO header authorization to only loopback addresses (127.0.0.1) or trusted reverse proxy IPs, as documented in https://docs.sillytavern.app/administration/sso/.
- Deploy the Sigma rule “Detect SillyTavern User Enumeration via /api/users/list” to identify attempts to enumerate user accounts using the publicly accessible API endpoint.
- Deploy the Sigma rule “Detect SillyTavern Authentication Bypass via Header Injection” to detect requests with injected Remote-User or X-Authentik-Username headers to the /login endpoint.
Detection coverage 2
Detect SillyTavern User Enumeration via /api/users/list
lowDetects attempts to enumerate SillyTavern user accounts by accessing the publicly available /api/users/list endpoint.
Detect SillyTavern Authentication Bypass via Header Injection
criticalDetects CVE-2026-44649 exploitation — HTTP requests to the /login endpoint with injected Remote-User or X-Authentik-Username headers, indicating a possible authentication bypass attempt.
Detection queries are available on the platform. Get full rules →