CVE-2025-32388 SvelteKit allows XSS via tracked search_params
Attackers can execute arbitrary scripts in user browsers by crafting malicious URLs with unsanitized search parameters in SvelteKit server load functions.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-32388?
CVE-2025-32388 is a medium-severity cross-site scripting vulnerability in sveltejs kit, published on 15 Apr 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to 2.20.6 , unsanitized search param names cause XSS vulnerability. You are affected if you iterate over all entries of event.url.searchParams inside a server load function. Attackers can exploit it by crafting a malicious URL and getting a user to click a link with said URL. This vulnerability is fixed in 2.20.6.
Weakness: CWE-79
Which versions are affected by CVE-2025-32388?
2 open source packages ship an affected version, including @sveltejs/kit.
| Package | Affected | Fixed in |
|---|---|---|
@sveltejs/kit npm | From 2.0.0 | 2.20.6 |
@sveltejs/kit npm | From 2.0.0 | 2.20.6 |
How do I fix CVE-2025-32388?
Upgrade @sveltejs/kit to 2.20.6 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2025-32388 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-32388 exists.
Sources
Also known as GHSA-6q87-84jw-cjhp.