CVE-2026-128121: SvelteKit: Prerendered paths are interpreted as regular expressions in Vercel route config generated by @sveltejs/adapter-vercel and @sveltejs/adapter-static
If an attacker could influence a link that was crawled during the prerender phase, that link could later be interpreted as a regex in the Vercel routing configuration.
Other sources
SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to @sveltejs/adapter-vercel 6.3.5 and 7.0.2 and @sveltejs/adapter-static 3.0.11 and 4.0.1, an attacker-influenced link crawled during prerendering could be emitted into the generated Vercel routing configuration without escaping regular-expression metacharacters. The configuration could consequently interpret the path as regular-expression syntax, match unintended application paths, and expose content or behavior outside the intended path. This issue is fixed in @sveltejs/adapter-vercel 6.3.5 and 7.0.2 and @sveltejs/adapter-static 3.0.11 and 4.0.1.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/@sveltejs/adapter-staticto a version that resolves this vulnerability.Fixed in 3.0.11 - Upgrade
Upgrade
npm/@sveltejs/adapter-vercelto a version that resolves this vulnerability.Fixed in 7.0.2 - Upgrade
Upgrade
npm/@sveltejs/adapter-staticto a version that resolves this vulnerability.Fixed in 4.0.1 - Upgrade
Upgrade
npm/@sveltejs/adapter-vercelto a version that resolves this vulnerability.Fixed in 6.3.5
Event History
Frequently Asked Questions
Who is exposed to this issue?
Applications using @sveltejs/adapter-vercel before 6.3.5 or 7.0.2, or @sveltejs/adapter-static before 3.0.11 or 4.0.1, are exposed when attacker-influenced links can be crawled during prerendering.
What must an attacker be able to do to exploit it?
The attacker must be able to influence a link that the application crawls during its prerender phase. The resulting path must then be emitted into the generated Vercel routing configuration, where regex metacharacters can be interpreted as routing syntax.
What is the likely impact after exploitation?
A crafted prerendered path can match unintended application paths in the Vercel routing configuration. This can expose content or application behavior outside the intended path, affecting confidentiality.
How can I remediate the issue?
Upgrade @sveltejs/adapter-vercel to 6.3.5 or 7.0.2, or upgrade @sveltejs/adapter-static to 3.0.11 or 4.0.1.