{"id":"GHSA-xc4x-2452-5gc9","summary":"SillyTavern has a reflected XSS vulnerability in the CORS proxy middleware","details":"## Resolution\n\nFixed in SillyTavern 1.18.0: a user-provided URL is no longer reflected in the HTTP response body.\n\n## Overview\n- Vulnerability Type: XSS\n- Affected Location: `src/middleware/corsProxy.js:40`\n- Trigger Scenario: reflected XSS in CORS proxy error response\n\n## Root Cause\nWhen `fetch(url)` throws, the code sends:\n`res.status(500).send('Error occurred while trying to proxy to: ' + url + ' ' + error)`.\nThe `url` value is attacker-controlled (`req.params.url`) and is not HTML-escaped before rendering.\n\n## Source-to-Sink Chain\n1. Source (user-controlled input)\n- Entry point: `GET /proxy/:url(*)`\n\n2. Data flow\n- Code analysis shows concrete propagation into this sink:\n  - vulnerability title: `Reflected XSS in CORS proxy error response`\n  - sink location reached by attacker-controlled input: `src/middleware/corsProxy.js:40`\n- The same sink behavior is confirmed by controlled execution observations.\n\n3. Sink (dangerous operation)\n- Sink location: `src/middleware/corsProxy.js:40`\n- Vulnerable behavior: reflected XSS in CORS proxy error response\n\n## Exploitation Preconditions\n1. The attacker can inject controllable content into a rendered response.\n2. The vulnerable rendering context does not apply strict output encoding/sanitization.\n3. A victim user opens the affected page or response.\n\n## Risk\nThis issue enables script execution in the victim context and can compromise session or data integrity.\n\n## Impact\nAn attacker may run arbitrary JavaScript in the victim context, steal tokens, and manipulate user-visible behavior.\n\n## Remediation\n1. Never concatenate raw user input into HTML error responses.\n2. If URL echo is required, HTML-escape it or force plain-text output.\n3. Re-enable/strengthen CSP to reduce reflected injection impact.","aliases":["CVE-2026-44651"],"modified":"2026-06-09T10:45:18.459862365Z","published":"2026-05-12T22:23:56Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-05-12T22:23:56Z","nvd_published_at":"2026-05-29T19:16:24Z","cwe_ids":["CWE-79"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/SillyTavern/SillyTavern/security/advisories/GHSA-xc4x-2452-5gc9"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-44651"},{"type":"PACKAGE","url":"https://github.com/SillyTavern/SillyTavern"},{"type":"WEB","url":"https://github.com/SillyTavern/SillyTavern/releases/tag/1.18.0"}],"affected":[{"package":{"name":"sillytavern","ecosystem":"npm","purl":"pkg:npm/sillytavern"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.18.0"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.17.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-xc4x-2452-5gc9/GHSA-xc4x-2452-5gc9.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}