CVE-2026-44651
SillyTavern: Reflected XSS vulnerability in the CORS proxy middleware
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. Prior to 1.18.0, when fetch(url) throws, the code sends: res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error). The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering. This vulnerability is fixed in 1.18.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.9
SillyTavern: Reflected XSS vulnerability in the CORS proxy middleware
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. Prior to 1.18.0, when fetch(url) throws, the code sends: res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error). The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering. This vulnerability is fixed in 1.18.0.
- Record
CVE-2026-44651- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-33405
6.9
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. Prior to 1.18.0, when fetch(url) throws, the code sends: res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error). The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering. This vulnerability is fixed in 1.18.0.
- Record
EUVD-2026-33405- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xc4x-2452-5gc9
6.9
SillyTavern has a reflected XSS vulnerability in the CORS proxy middleware
Resolution
Fixed in SillyTavern 1.18.0: a user-provided URL is no longer reflected in the HTTP response body.
Overview
- Vulnerability Type: XSS
- Affected Location:
src/middleware/corsProxy.js:40 - Trigger Scenario: reflected XSS in CORS proxy error response
Root Cause
When fetch(url) throws, the code sends:
res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error).
The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering.
Source-to-Sink Chain
- Source (user-controlled input)
- Entry point:
GET /proxy/:url(*)
- Data flow
- Code analysis shows concrete propagation into this sink:
- vulnerability title:
Reflected XSS in CORS proxy error response - sink location reached by attacker-controlled input:
src/middleware/corsProxy.js:40
- vulnerability title:
- The same sink behavior is confirmed by controlled execution observations.
- Sink (dangerous operation)
- Sink location:
src/middleware/corsProxy.js:40 - Vulnerable behavior: reflected XSS in CORS proxy error response
Exploitation Preconditions
- The attacker can inject controllable content into a rendered response.
- The vulnerable rendering context does not apply strict output encoding/sanitization.
- A victim user opens the affected page or response.
Risk
This issue enables script execution in the victim context and can compromise session or data integrity.
Impact
An attacker may run arbitrary JavaScript in the victim context, steal tokens, and manipulate user-visible behavior.
Remediation
- Never concatenate raw user input into HTML error responses.
- If URL echo is required, HTML-escape it or force plain-text output.
- Re-enable/strengthen CSP to reduce reflected injection impact.
- Record
GHSA-xc4x-2452-5gc9- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
6.9
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. Prior to 1.18.0, when fetch(url) throws, the code sends: res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error). The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering. This vulnerability is fixed in 1.18.0.
- Record
CVE-2026-44651- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
6.9
SillyTavern: Reflected XSS vulnerability in the CORS proxy middleware
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. Prior to 1.18.0, when fetch(url) throws, the code sends: res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error). The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering. This vulnerability is fixed in 1.18.0.
- Record
CVE-2026-44651- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVGHSA-xc4x-2452-5gc9
6.9
SillyTavern has a reflected XSS vulnerability in the CORS proxy middleware
Resolution
Fixed in SillyTavern 1.18.0: a user-provided URL is no longer reflected in the HTTP response body.
Overview
- Vulnerability Type: XSS
- Affected Location:
src/middleware/corsProxy.js:40 - Trigger Scenario: reflected XSS in CORS proxy error response
Root Cause
When fetch(url) throws, the code sends:
res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error).
The url value is attacker-controlled (req.params.url) and is not HTML-escaped before rendering.
Source-to-Sink Chain
- Source (user-controlled input)
- Entry point:
GET /proxy/:url(*)
- Data flow
- Code analysis shows concrete propagation into this sink:
- vulnerability title:
Reflected XSS in CORS proxy error response - sink location reached by attacker-controlled input:
src/middleware/corsProxy.js:40
- vulnerability title:
- The same sink behavior is confirmed by controlled execution observations.
- Sink (dangerous operation)
- Sink location:
src/middleware/corsProxy.js:40 - Vulnerable behavior: reflected XSS in CORS proxy error response
Exploitation Preconditions
- The attacker can inject controllable content into a rendered response.
- The vulnerable rendering context does not apply strict output encoding/sanitization.
- A victim user opens the affected page or response.
Risk
This issue enables script execution in the victim context and can compromise session or data integrity.
Impact
An attacker may run arbitrary JavaScript in the victim context, steal tokens, and manipulate user-visible behavior.
Remediation
- Never concatenate raw user input into HTML error responses.
- If URL echo is required, HTML-escape it or force plain-text output.
- Re-enable/strengthen CSP to reduce reflected injection impact.
- Record
GHSA-xc4x-2452-5gc9- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
sillytavernnpm |
through 1.17.0 | 1.18.0 |
sillytavernnpm |
before 1.18.0 | 1.18.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-44651 is a medium vulnerability (CVSS 6.9) in Sillytavern, published May 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 25th percentile. Fixed in sillytavern 1.18.0.
References
github.com/SillyTavern/SillyTavern/security/advisories/GHSA-xc4x-2452-5gc9
github.com/SillyTavern/SillyTavern/releases/tag/1.18.0
nvd.nist.gov/vuln/detail/CVE-2026-44651
github.com/advisories/GHSA-xc4x-2452-5gc9
github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44651.json
github.com/SillyTavern/SillyTavern