chore(deps): update dependency @sveltejs/kit to v2.49.5 [security] #153
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.20.5→2.49.5GitHub Vulnerability Alerts
CVE-2025-32388
Summary
Unsanitized search param names cause XSS vulnerability. You are affected if you iterate over all entries of
event.url.searchParamsinside a serverloadfunction. Attackers can exploit it by crafting a malicious URL and getting a user to click a link with said URL.Details
SvelteKit tracks which parameters in
event.url.searchParamsare read inside serverloadfunctions. If the application iterates over the these parameters, theuses.search_paramsarray included in the boot script (embedded in the server-rendered HTML) will have any search param name included in unsanitized form.packages/kit/src/runtime/server/utils.js:150has thestringify_uses(node)function which prints these out.Reproduction
In a
+page.server.jsor+layout.server.js:If a user visits the page in question via a link containing
?</script/><script>window.pwned%3D1</script/>, the</script>will be included verbatim in the payload, causing the embedded script to be executed.It is not necessary to return the parameter value from
loador render it in the page, only to read it (which causes it to be tracked as a dependency) whileloadis running.Impact
Any application that iterates over all values in
event.url.searchParamsin aloadfunction in+page.server.jsor+layout.server.js(directly or indirectly) is vulnerable to XSS.CVE-2025-67647
Summary
Versions of SvelteKit are vulnerable to a server side request forgery (SSRF) and denial of service (DoS) under certain conditions.
Details
Affected versions from 2.44.0 onwards are vulnerable to DoS if:
export const prerender = true)Affected versions from 2.19.0 onwards are vulnerable to DoS and SSRF if:
export const prerender = true)adapter-nodewithout a configuredORIGINenvironment variable, and you are not using a reverse proxy that implements Host header validationImpact
The DoS causes the running server process to end.
The SSRF allows access to internal services that can be reached without authentication when fetched from SvelteKit's server runtime.
It is also possible to obtain an SXSS via cache poisoning, by forcing a potential CDN to cache an XSS returned by the attacker's server (the latter being able to specify the cache-control of their choice).
Credits
Release Notes
sveltejs/kit (@sveltejs/kit)
v2.49.5Compare Source
Patch Changes
fix: avoid overriding Vite default
basewhen running Vitest 4 (#14866)fix: ensure url decoded pathnames are not mistaken as rerouted requests (
d9ae9b0)fix: add length checks to remote forms (
8ed8155)v2.49.4Compare Source
Patch Changes
fix: support instrumentation for
vite preview(#15105)fix: support for
URLSearchParams.has(name, value)overload (#15076)fix: put forking behind
experimental.forkPreloads(#15135)v2.49.3Compare Source
Patch Changes
fix: avoid false-positive Vite config overridden warning when using Vitest 4 (#15121)
fix: add
typescriptas an optional peer dependency (#15074)fix: use hasOwn check when deep-setting object properties (#15127)
v2.49.2Compare Source
Patch Changes
fix: Stop re-loading already-loaded CSS during server-side route resolution (#15014)
fix: posixify the instrumentation file import on Windows (#14993)
fix: Correctly handle shared memory when decoding binary form data (#15028)
v2.49.1Compare Source
Patch Changes
fix: suppress
state_referenced_locallywarnings in.svelte-kit/generated/root.svelte(#15013)fix: TypeError when doing response.clone() in page load (#15005)
v2.49.0Compare Source
Minor Changes
formremote functions allowing form data to be accessed before large files finish uploading (#14775)v2.48.8Compare Source
Patch Changes
breaking:
invalidnow must be imported from@sveltejs/kit(#14768)breaking: remove
submitteroption from experimental formvalidate()method, always provide default submitter (#14762)v2.48.7Compare Source
Patch Changes
fix: allow multiple
server-timingheaders (#14700)fix: allow access to root-level issues in schema-less forms (#14893)
fix: allow hosting hash-based apps from non-index.html files (#14825)
v2.48.6Compare Source
Patch Changes
fix: clear issues upon passing validation (#14683)
fix: don't use fork of unrelated route (#14947)
fix: prevent type errors when optional
@opentelemetry/apidependency isn't installed (#14949)fix: preserve
thiswhen invoking standard validator (#14943)fix: treat client/universal hooks as entrypoints for illegal server import detection (#14876)
fix: correct query
.setand.refreshbehavior in commands (#14877)fix: improved the accuracy of the types of the output of
field.as('...')(#14908)v2.48.5Compare Source
Patch Changes
fix: wait an extra microtask in dev before calling
$_init_$(#14799)fix: discard preload fork before creating a new one (#14865)
fix: delete
RemoteFormAllIssue, addpathtoRemoteFormIssue(#14864)v2.48.4Compare Source
Patch Changes
fix: adjust query's promise implementation to properly allow chaining (#14859)
fix: make prerender cache work, including in development (#14860)
v2.48.3Compare Source
Patch Changes
fix: include hash when using
resolvewith hash routing enabled (#14786)fix:
afterNavigatecallback not running after hydration when experimental async is enabled (#14644)fix: Snapshot
restoremethod not called after reload when experimental async is enabledfix: expose
issue.pathin.allIssues()(#14784)v2.48.2Compare Source
Patch Changes
v2.48.1Compare Source
Patch Changes
settled(#14818)v2.48.0Compare Source
Minor Changes
forkAPI when available (#14793)Patch Changes
settledinstead oftickin navigate (#14800)v2.47.3Compare Source
Patch Changes
fix: avoid hanging when
error()is used while streaming promises from a serverloadfunction (#14722)chore: treeshake load function code if we know it's unused (#14764)
fix:
RecursiveFormFieldstype for recursive or unknown schemas (#14734)fix: rework internal representation of form value to be
$state(#14771)v2.47.2Compare Source
Patch Changes
fix: streamed promise not resolving when another load function returns a fast resolving promise (#14753)
chore: allow to run preflight validation only (#14744)
fix: update overload to set
invalidtype to schema input (#14748)v2.47.1Compare Source
Patch Changes
fix: allow
readto be used at the top-level of remote function files (#14672)fix: more robust remote files generation (#14682)
v2.47.0Compare Source
Minor Changes
signalproperty to request (#14715)Patch Changes
v2.46.5Compare Source
Patch Changes
formremote functions'fields.settriggers reactivity (#14661)v2.46.4Compare Source
Patch Changes
untrackfunction (#14658)v2.46.3Compare Source
Patch Changes
fix: merge
field.set(...)calls (#14651)fix: don't automatically reset form after an enhanced submission (#14626)
fix: normalize path strings when updating field values (#14649)
v2.46.2Compare Source
Patch Changes
envmodules (#14637)v2.46.1Compare Source
Patch Changes
fix: use
$derivedfor form fields (#14621)docs: remove
@exampleblocks to allow docs to deploy (#14636)fix: require a value with
submitandhiddenfields (#14635)fix: delete hydration cache on effect teardown (#14611)
v2.46.0Compare Source
Minor Changes
Patch Changes
fix: wait a tick before collecting form data for validation (#14631)
fix: prevent code execution order issues around SvelteKit's
envmodules (#14632)v2.45.0Compare Source
Minor Changes
form.for(id)now implicitly sets id on form object (#14623)Patch Changes
fetchin remote function without emitting a warning (#14610)v2.44.0Compare Source
Minor Changes
feat: expose
event.routeandevent.urlto remote functions (#14606)breaking: update experimental
formAPI (#14481)Patch Changes
v2.43.8Compare Source
Patch Changes
fix: HMR for
query(#14587)fix: avoid client modules while traversing dependencies to prevent FOUC during dev (#14577)
fix: skip prebundling of .remote.js files (#14583)
fix: more robust remote file pattern matching (#14578)
v2.43.7Compare Source
Patch Changes
fix: correctly type the
resultofformremote functions that do not accept data (#14573)fix: force remote module chunks to isolate themselves (#14571)
v2.43.6Compare Source
Patch Changes
fix: ensure cache key is consistent between client/server (#14563)
fix: keep resolve relative to initial base during prerender (#14533)
fix: avoid including
HEADtwice when an unhandled HTTP method is used in a request to a+serverhandler that has both aGEThandler and aHEADhandler (#14564)fix: smoothscroll to deep link (#14569)
v2.43.5Compare Source
Patch Changes
resolve(...)outside an event context (#14532)v2.43.4Compare Source
Patch Changes
v2.43.3Compare Source
Patch Changes
fix: Webcontainer AsyncLocalStorage workaround (#14521)
fix: include the value of form submitters on
formremote functions (#14475)v2.43.2Compare Source
Patch Changes
fix: ensure rendering starts off synchronously (#14517)
fix: keep serialized remote data alive until navigation (#14508)
v2.43.1Compare Source
Patch Changes
v2.43.0Compare Source
Minor Changes
Patch Changes
fix: ensure
__SVELTEKIT_PAYLOAD__.datais accessed safely (#14491)fix: create separate cache entries for non-exported remote function queries (#14499)
v2.42.2Compare Source
Patch Changes
fix: prevent loops in postbuild analysis phase (#14450)
fix: handle nested object fields in form data (#14469)
fix: robustify form helper types (#14463)
fix: avoid running the
inithook during builds if there's nothing to prerender (#14464)fix: ensure SSR rendering gets request store context (#14476)
v2.42.1Compare Source
Patch Changes
v2.42.0Compare Source
Minor Changes
feat: enhance remote form functions with schema support,
inputandissuesproperties (#14383)breaking: remote form functions get passed a parsed POJO instead of a
FormDataobject now (#14383)v2.41.0Compare Source
Minor Changes
%sveltekit.version%toapp.html(#12132)Patch Changes
fix: allow remote functions to return custom types serialized with
transporthooks (#14435)fix: fulfil
beforeNavigatecompletewhen redirected (#12896)v2.40.0Compare Source
Minor Changes
eventproperty on popstate/link/form navigation (#14307)Patch Changes
fix: respect
replaceState/keepFocus/noScrollwhen a navigation results in a redirect (#14424)fix: invalidate preload cache when invalidateAll is true (#14420)
v2.39.1Compare Source
Patch Changes
v2.39.0Compare Source
Minor Changes
Patch Changes
fix: layout load data not serialized on error page (#14395)
fix: fail prerendering when remote function fails (#14365)
fix: treat handle hook redirect as part of remote function call as json redirect (#14362)
v2.38.1Compare Source
Patch Changes
fix: enable redirects from queries (#14400)
fix: remove empty nodes from serialized server load data (#14404)
fix: allow commands from within endpoints (#14343)
v2.38.0Compare Source
Minor Changes
query.batch(#14272)v2.37.1Compare Source
Patch Changes
fix: serialize server
loaddata before passing to universalload, to handle mutations and promises (#14298)fix: resolve_route prevent dropping a trailing slash of id (#14294)
fix: assign correct status code to form submission error on the client (#14345)
fix: un-proxy
form.result(#14346)v2.37.0Compare Source
Minor Changes
feat: automatically resolve
query.refresh()promises on the server (#14332)feat: allow query.set() to be called on the server (#14304)
Patch Changes
fix: disable CSRF checks in dev (#14335)
fix: allow redirects to external URLs from within form functions (#14329)
fix: add type definitions for
query.set()method to override the value of a remote query function (#14303)fix: ensure uniqueness of
form.for(...)across form functions (#14327)v2.36.3Compare Source
Patch Changes
fix: bump devalue (#14323)
chore: consolidate dev checks to use
esm-envinstead of a__SVELTEKIT_DEV__global (#14308)fix: reset form inputs by default when using remote form functions (#14322)
v2.36.2Compare Source
Patch Changes
chore: make config deprecation warnings more visible (#14281)
chore: remove redundant Not Found error message (#14289)
chore: deprecate
csrf.checkOriginin favour ofcsrf.trustedOrigins: ['*'](#14281)v2.36.1Compare Source
Patch Changes
$app/navigationworks in test files (#14195)v2.36.0Compare Source
Minor Changes
csrf.trustedOriginsconfiguration (#14021)Patch Changes
fix: correctly decode custom types streamed from a server load function (#14261)
fix: add trailing slash pathname when generating typed routes (#14065)
v2.35.0Compare Source
Minor Changes
Patch Changes
v2.34.1Compare Source
Patch Changes
fix: support multiple cookies with the same name across different paths and domains (
b2c5d02)fix: add link header when preloading font (#14200)
fix:
cookies.get(...)returnsundefinedfor a just-deleted cookie (b2c5d02)fix: load env before prerender (
c5f7139)v2.34.0Compare Source
Minor Changes
envaccess during prerender (#14243)Patch Changes
fix: clone
fetchresponses so that headers are mutable (#13942)fix: serialize server
loaddata before passing to universalload, to handle mutations (#14268)fix: allow
asset(...)to be used with imported assets (#14270)v2.33.1Compare Source
Patch Changes
fix: make paths in .css assets relative (#14262)
fix: avoid copying SSR stylesheets to client assets (#13069)
v2.33.0Compare Source
Minor Changes
Patch Changes
fix: use correct flag for server tracing (#14250)
fix: correct type names for new
handleUnseenRoutesoption (#14254)chore: Better docs and error message for missing
@opentelemetry/apidependency (#14250)v2.32.0Compare Source
Minor Changes
response.bodystream data as base64 in page (#11473)Patch Changes
.remote.tsfiles are used without theexperimental.remoteFunctionsflag (#14225)v2.31.1Compare Source
Patch Changes
v2.31.0Compare Source
Minor Changes
feat: OpenTelemetry tracing for
handle,sequence, form actions, remote functions, andloadfunctions running on the server (#13899)feat: add
instrumentation.server.tsfor tracing and observability setup (#13899)v2.30.1Compare Source
Patch Changes
$app/typesin a more Typescript-friendly way (#14207)v2.30.0Compare Source
Minor Changes
svelte.config.js(#13578)Patch Changes
fix: ensure buttonProps.enhance works on buttons with nested text (#14199)
fix: pass validation issues specifically to avoid non-enumerable spreading error (#14197)
v2.29.1Compare Source
Patch Changes
v2.29.0Compare Source
Minor Changes
kit.files.srcoption (#14152)Patch Changes
fix: don't treat
$lib/server.tsor$lib/server_whatever.tsas server-only modules, only$lib/server/**(#14191)fix: make illegal server-only import errors actually useful (#14155)
chore: deprecate
config.kit.filesoptions (#14152)fix: avoid warning if page options in a Svelte file belongs to a comment (#14180)
v2.28.0Compare Source
Minor Changes
feat: add
RouteIdandRouteParamsto NavigationTarget interface (#14167)feat: add
pendingproperty to forms and commands (#14137)Patch Changes
fix:
fetchimported assets during prerender (#12201)chore: refactor redundant base64 encoding/decoding functions (#14160)
fix: use correct cache result when fetching same url multiple times (#12355)
fix: don't refresh queries automatically when running commands (#14170)
fix: avoid writing remote function bundle to disk when treeshaking prerendered queries (#14161)
v2.27.3Compare Source
Patch Changes
.gitto the end ofpackage.jsonrepository url (#14134)v2.27.2Compare Source
Patch Changes
fix: ensure
form()remote functions work when the app is configured to a single output (#14127)fix: use the configured base path when calling remote functions from the client (#14106)
v2.27.1Compare Source
Patch Changes
fix: correctly type remote function input parameters from a schema (#14098)
fix: match URL-encoded newlines in rest route params (#14102)
fix: correctly spell server-side in error messages (#14101)
v2.27.0Compare Source
Minor Changes
v2.26.1Compare Source
Patch Changes
fix: posixify internal app server path (#14049)
fix: ignore route groups when generating typed routes (#14050)
v2.26.0Compare Source
Minor Changes
feat: better type-safety for
page.route.id,page.params,page.url.pathnameand various other places (#13864)feat:
resolve(...)andasset(...)helpers for resolving paths (#13864)feat: Add
$app/typesmodule withAsset,RouteId,Pathname,ResolvedPathnameRouteParams<T>andLayoutParams<T>(#13864)v2.25.2Compare Source
Patch Changes
v2.25.1Compare Source
Patch Changes
v2.25.0Compare Source
Minor Changes
readimplementations from adapters (#13859)Patch Changes
v2.24.0Compare Source
Minor Changes
paramsprop for page/layout components (#13999)Patch Changes
storage.gethelper (#13998)v2.23.0Compare Source
Minor Changes
feat: support svelte.config.ts (#13935)
Patch Changes
fix: extend
vite-plugin-svelte'sConfigtype instead of duplicating it (#13982)fix: regression with
rolldown-vitenot bundling a single JS file for single and inline apps (#13941)v2.22.5Compare Source
Patch Changes
@sveltejs/kittooptimizeDeps.exclude(#13983)v2.22.4Compare Source
Patch Changes
$app/*modules to be bundled (#13977)v2.22.3Compare Source
Patch Changes
@sveltejs/kit(#13971)v2.22.2Compare Source
Patch Changes
fix: use fallback if
untrackdoesn't exist in svelte package (#13933)fix: warning for chrome devtools requests now suggests sv instead of vite plugin (#13905)
v2.22.1Compare Source
Patch Changes
fix: prevent infinite loop when calling
pushState/replaceStatein$effect(#13914)chore: use
manualChunksto bundle single and inline apps with Rolldown (#13915)v2.22.0Compare Source
Minor Changes
vite-plugin-svelte@^6.0.0-next.0andvite@^7.0.0-beta.0. Compilation should be faster using Rolldown, but with larger bundle sizes until additional tree-shaking is implemented in Rolldown. See #13738 for ongoing work. (#13747)v2.21.5Compare Source
Patch Changes
fix: correctly set the sequential focus navigation point when using hash routing (#13884)
fix: regression when resetting focus and the URL hash contains selector combinators or separators (#13884)
v2.21.4Compare Source
Patch Changes
v2.21.3Compare Source
Patch Changes
fix: correctly invalidate static analysis cache of child nodes when modifying a universal
+layoutfile during dev (#13793)fix: correctly set sequential focus navigation starting point after navigation (#10856)
fix: suppress console spam for chrome devtools requests (#13830)
fix: avoid externalising packages that depend on
@sveltejs/kitso that libraries can also useredirectanderrorhelpers (#13843)fix: correctly run
deserializeon the server (#13686)fix: correctly inline stylesheets of components dynamically imported in a universal load function if they are below the configured inlineStyleThreshold (#13723)
v2.21.2Compare Source
Patch Changes
v2.21.1Compare Source
Patch Changes
chore: clarify which functions
handleFetchaffects (#13788)fix: ensure
$envand$app/environmentare correctly set while analysing server nodes (#13790)v2.21.0Compare Source
Minor Changes
Patch Changes
chore: remove
import-meta-resolvedependency (#13629)fix: remove component code from server nodes that are never used for SSR (#13684)
v2.20.8Compare Source
Patch Changes
ssrandcsrpage options apply to error pages rendered as a result of a load function error on the server (#13695)v2.20.7Compare Source
Patch Changes
v2.20.6Compare Source
Patch Changes
d3300c6a67908590266c363dba7b0835d9a194cf)Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.