GHSA-rjjv-87mx-6x3h
@sveltejs/kit vulnerable to XSS on dev mode 404 page
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @sveltejs/kit | < 2.8.3 | 2.8.3 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
"Unsanitized input from *the request URL* flows into `end`, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS)."
### Details
Source of potentially tainted data is in `packages/kit/src/exports/vite/dev/index.js`, line 437. This potentially tainted data is passed through a number of steps (which I could detail if you'd like) all the way down to line 91 in `packages/kit/src/exports/vite/utils.js`, which performs an operation that Snyk believes an attacker shouldn't be allowed to manipulate.
Another source of potentially tainted data (according to Snyk) comes from `packages/kit/src/exports/vite/utils.js`, line 30, col 30 (i.e., the `url` property of `req`). This potentially tainted data is passed through a number of steps (which I could detail if you'd like) all the way down line 91 in `packages/kit/src/exports/vite/utils.js`, which performs an operation that Snyk believes an attacker shouldn't be allowed to manipulate.
### PoC
Not provided
### Impact
Little to none. The Vite development is not exposed to the network by default. And even if someone were able to trick a developer into executing an XSS against themselves, a development database should not have any sensitive data.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/sveltejs/kit/security/advisories/GHSA-rjjv-87mx-6x3h
- https://nvd.nist.gov/vuln/detail/CVE-2024-53261
- https://github.com/sveltejs/kit/pull/13039
- https://github.com/sveltejs/kit/commit/d338d4635a7fd947ba5112df6ee632c4a0979438
- https://github.com/sveltejs/kit
- https://github.com/sveltejs/kit/releases/tag/%40sveltejs%2Fkit%402.8.3