SillyTavern is a locally installed user interface that allows users to interact with text generation large language models, image generation engines, and text-to-speech voice models. In versions prior to 1.13.4, the web user interface for SillyTavern is susceptible to DNS rebinding, allowing attackers to perform actions like install malicious extensions, read chats, inject arbitrary HTML for phishing attacks, etc. The vulnerability has been patched in the version 1.13.4 by introducing a server configuration setting that enables a validation of host names in inbound HTTP requests according to the provided list of allowed hosts: `hostWhitelist.enabled` in config.yaml file or `SILLYTAVERN_HOSTWHITELIST_ENABLED` environment variable. While the setting is disabled by default to honor a wide variety of existing user configurations and maintain backwards compatibility, existing and new users are encouraged to review their server configurations and apply necessary changes to their setup, especially if hosting over the local network while not using SSL.
DNS rebinding attack works by the attacker controlling a DNS server that first returns an external address and then — after the TTL record expires — replaces the response with a local address (e.g., 127.0.0.1) where SillyTavern is running. The victim's browser, visiting a page controlled by the attacker, then begins sending HTTP requests directly to the local SillyTavern instance, bypassing same-origin policy protections. Since SillyTavern did not verify the Host header in incoming HTTP requests, it was unable to distinguish legitimate requests from those crafted by the attacker. The vulnerability is particularly dangerous in environments where SillyTavern is accessible on a local network without SSL encryption.
An attacker can remotely install malicious extensions, read private user chats, and inject arbitrary HTML code enabling phishing attacks. If access to the local network is compromised, the scope of exposed resources may be significantly broader.
Update SillyTavern to version 1.13.4 or newer. Version 1.13.4 introduced a Host header validation mechanism — enable the `hostWhitelist.enabled` setting in the config.yaml file or via the `SILLYTAVERN_HOSTWHITELIST_ENABLED` environment variable and configure the list of allowed hosts. The setting is disabled by default for backward compatibility, so its activation requires manual administrator intervention. Special attention should be paid by users sharing SillyTavern on a local network without SSL.
SillyTavern in all versions before 1.13.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H