svelte-tiny-virtual-list
svelte-tiny-virtual-list copied to clipboard
chore(deps): update dependency @sveltejs/kit to v2.20.6 [security]
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @sveltejs/kit (source) | 2.5.28 -> 2.20.6 |
GitHub Vulnerability Alerts
CVE-2024-53262
Summary
The static error.html template for errors contains placeholders that are replaced without escaping the content first.
Details
From https://kit.svelte.dev/docs/errors:
error.html is the page that is rendered when everything else fails. It can contain the following placeholders: %sveltekit.status% β the HTTP status %sveltekit.error.message% β the error message
This leads to possible injection if an app explicitly creates an error with a message that contains user controlled content that ends up being something like this inside a server handle function:
error(500, '<script>alert("boom")</script>');
Uncaught errors cannot be exploited like this, as they always render the message "Internal error".
Escaping the message string in the function that creates the html output can be done to improve safety for applications that are using custom errors on the server.
PoC
None provided
Impact
Only applications where user provided input is used in the Error message will be vulnerable, so the vast majority of applications will not be vulnerable
CVE-2024-53261
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.
CVE-2025-32388
Summary
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.
Details
SvelteKit tracks which parameters in event.url.searchParams are read inside server load functions. If the application iterates over the these parameters, the uses.search_params array 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:150 has the stringify_uses(node) function which prints these out.
Reproduction
In a +page.server.js or +layout.server.js:
/** @​type {import('@​sveltejs/kit').Load} */
export function load(event) {
const values = {};
for (const key of event.url.searchParams.keys()) {
values[key] = event.url.searchParams.get(key);
}
}
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 load or render it in the page, only to read it (which causes it to be tracked as a dependency) while load is running.
Impact
Any application that iterates over all values in event.url.searchParams in a load function in +page.server.js or +layout.server.js (directly or indirectly) is vulnerable to XSS.
Release Notes
sveltejs/kit (@βsveltejs/kit)
v2.20.6
Patch Changes
- fix: escape names of tracked search parameters (
d3300c6a67908590266c363dba7b0835d9a194cf)
v2.20.5
Patch Changes
-
allow
HandleServerErrorhook to accessgetRequestEvent(#β13666) -
fix: prevent Rollup warnings for undefined hooks (#β13687)
v2.20.4
Patch Changes
- chore: remove internal class-replacement hack that isn't needed anymore (#β13664)
v2.20.3
Patch Changes
- fix: only call
afterNavigateonce on app start when SSR is disabled (#β13593)
v2.20.2
Patch Changes
- fix: allow non-prerendered API endpoint calls during reroute when prerendering (#β13616)
v2.20.1
Patch Changes
- fix: avoid using top-level await (#β13607)
v2.20.0
Minor Changes
- feat: add
getRequestEventto$app/server(#β13582)
v2.19.2
Patch Changes
- fix: lazily load CSS for dynamically imported components (#β13564)
v2.19.1
Patch Changes
- fix: allow reroute to point to prerendered route (#β13575)
v2.19.0
Minor Changes
- feat: provide
fetchtoreroute(#β13549)
Patch Changes
- chore: cache reroute results (#β13548)
v2.18.0
Minor Changes
Patch Changes
-
fix: correct navigation history with hash router and ensure load functions are rerun on user changes to URL hash (#β13492)
-
fix: include universal load assets as server assets (#β13531)
-
fix: Include root layout and error nodes even when apps have only prerendered pages (#β13522)
-
fix: correctly preload data on
mousedown/touchstartif code was preloaded on hover (#β13530)
v2.17.3
Patch Changes
-
fix: avoid simulated CORS errors with non-HTTP URLs (#β13493)
-
fix: correctly preload links on
mousedown/touchstart(#β13486) -
fix: load CSS when using server-side route resolution (#β13498)
-
fix: correctly find shared entry-point CSS files during inlining (#β13431)
v2.17.2
Patch Changes
-
fix: add promise return type to the
enhanceaction callback (#β13420) -
fix: change server-side route resolution endpoint (#β13461)
v2.17.1
Patch Changes
- fix: make route resolution imports root-relative if
paths.relativeoption isfalse(#β13412)
v2.17.0
Minor Changes
-
feat: validate values for
cache-controlandcontent-typeheaders in dev mode (#β13114) -
feat: support server-side route resolution (#β13379)
Patch Changes
-
chore: don't error during development when using
use:enhancewith+serveras some third party libraries make it possible to POST forms to it (#β13397) -
fix: skip hooks for server fetch to prerendered routes (#β13377)
-
fix: ignore non-entry-point CSS files during inlining (#β13395)
-
fix: default server fetch to use prerendered paths (#β13377)
v2.16.1
Patch Changes
-
fix: avoid overwriting headers for sub-requests made while loading the error page (#β13341)
-
fix: correctly resolve index file entrypoints such as
src/service-worker/index.js(#β13354) -
fix: correctly handle relative anchors when using the hash router (#β13356)
v2.16.0
Minor Changes
-
feat: add ability to invalidate a custom identifier on
goto()(#β13256) -
feat: remove the
postinstallscript to support pnpm 10 (#β13304)NOTE: users should add
"prepare": "svelte-kit sync" to theirpackage.jsonin order to avoid the following warning upon first running Vite:β² [WARNING] Cannot find base config file "./.svelte-kit/tsconfig.json" [tsconfig.json] tsconfig.json:2:12: 2 β "extends": "./.svelte-kit/tsconfig.json", β΅ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
feat: provide
PagePropsandLayoutPropstypes (#β13308)
Patch Changes
-
perf: shorten chunk file names (#β13003)
-
fix: strip internal data before passing URL to
reroute(#β13092) -
fix: support absolute URLs and reroutes with
data-sveltekit-preload-code="viewport"(#β12217) -
fix: use current
window.fetchfor server load fetch requests (#β13315) -
fix: resolve symlinks when handling routes (#β12740)
-
fix: prevent infinite reload when using the hash router and previewing
/index.html(#β13296) -
fix: service worker base path in dev mode (#β12577)
-
chore: error during development when using
use:enhancewith+server(#β13197) -
chore: add most common status codes to
redirect()JS documentation (#β13301) -
fix: correctly link to assets inlined by the
inlineStyleThresholdoption (#β13068) -
fix: fall back to importing dynamic dependencies relative to SvelteKit package (#β12532)
-
fix: use arrow function types over bound funcs (#β12955)
-
fix: correctly navigate when hash router is enabled and the browser encodes extra hashes (#β13321)
v2.15.3
Patch Changes
-
fix: fix race-condition when not using SSR when pressing back before initial load (#β12925)
-
fix: remove ":$" from virtual module ids to allow dev server to work with proxies (#β12157)
-
fix: upgrade esm-env to remove warning when NODE_ENV is not set (#β13291)
-
fix: handle
Redirectthrown from root layout load function when client-side navigating to a non-existent page (#β12005) -
fix: make param matchers generated type import end with
.js(#β13286)
v2.15.2
Patch Changes
-
fix: correctly notify page store subscribers (#β13205)
-
fix: prerender data when there is no server load but the
trailingSlashoption is set from the server (#β13262) -
fix: correctly remove navigation callbacks when returning function in onNavigate (#β13241)
v2.15.1
Patch Changes
-
fix: add CSP hashes/nonces to inline styles when using
bundleStrategy: 'inline'(#β13232) -
fix: silence dev/prod warning during sync (#β13244)
v2.15.0
Minor Changes
- feat: add
bundleStrategy: 'inline'option (#β13193)
v2.14.1
Patch Changes
- fix: do not mutate URL during reroute logic (#β13222)
v2.14.0
Minor Changes
- feat: add hash-based routing option (#β13191)
Patch Changes
- fix: create new URL when calling
goto(...), to handle case where URL is mutated (#β13196)
v2.13.0
Minor Changes
- feat: add
bundleStrategy: 'split' | 'single'option (#β13173)
v2.12.2
Patch Changes
-
fix: correctly resolve no hooks file when a similarly named directory exists (#β13188)
-
fix: correctly resolve
$app/stateon the server with Vite 5 (#β13192)
v2.12.1
Patch Changes
- fix: replace
navigating.current.<x>withnavigating.<x>(#β13174)
v2.12.0
Minor Changes
- feat: add
$app/statemodule (#β13140)
Patch Changes
- chore: specify the route ID in the error message during development when making a form action request to a route without form actions (#β13167)
v2.11.1
Patch Changes
- fix: adhere to Vite
build.minifysetting when building the service worker (#β13143)
v2.11.0
Minor Changes
- feat: transport custom types across the server/client boundary (#β13149)
Patch Changes
- fix: correctly resolve hooks file when a similarly named directory exists (#β13144)
v2.10.1
Patch Changes
- fix: export
inithook fromget_hooks(#β13136)
v2.10.0
Minor Changes
- feat: server and client
inithook (#β13103)
Patch Changes
- fix: prevent hooks exported from
hooks.jsfrom overwriting hooks fromhooks.server.js(#β13104)
v2.9.1
Patch Changes
- fix: correctly match route groups preceding optional parameters (#β13099)
v2.9.0
Minor Changes
- feat: Vite 6 support (#β12270)
Patch Changes
- fix: transform link[rel='shortcut icon'] and link[rel='apple-touch-icon'] to be absolute to avoid console error when navigating (#β13077)
v2.8.5
Patch Changes
- fix: don't hydrate when falling back to error page (#β13056)
v2.8.4
Patch Changes
- fix: update inline css url generation for FOUC prevention in dev (#β13007)
v2.8.3
Patch Changes
-
fix: ensure error messages are escaped (#β13050)
-
fix: escape values included in dev 404 page (#β13039)
v2.8.2
Patch Changes
-
fix: prevent duplicate fetch request when using Request with load function's fetch (#β13023)
-
fix: do not override default cookie decoder to allow users to override the
cookielibrary version (#β13037)
v2.8.1
Patch Changes
-
fix: only add nonce to
script-src-elem,style-src-attrandstyle-src-elemCSP directives whenunsafe-inlineis not present (#β11613) -
fix: support HTTP/2 in dev and production. Revert the changes from #β12907 to downgrade HTTP/2 to TLS as now being unnecessary (#β12989)
v2.8.0
Minor Changes
- feat: add helper to identify
ActionFailureobjects (#β12878)
v2.7.7
Patch Changes
- fix: update link in JSDoc (#β12963)
v2.7.6
Patch Changes
- fix: update broken links in JSDoc (#β12960)
v2.7.5
Patch Changes
-
fix: warn on invalid cookie name characters (#β12806)
-
fix: when using
@vitejs/plugin-basic-ssl, set a no-op proxy config to downgrade from HTTP/2 to TLS sinceundicidoes not yet enable HTTP/2 by default (#β12907)
v2.7.4
Patch Changes
-
fix: ensure element is focused after subsequent clicks of the same hash link (#β12866)
-
fix: avoid preload if event default was prevented for
touchstartandmousedownevents (#β12887) -
fix: avoid reloading behaviour for hash links with data-sveltekit-reload if the hash is on the same page (#β12866)
v2.7.3
Patch Changes
-
fix: include importer in illegal import error message (#β12820)
-
fix: don't try reading assets directly that aren't present (#β12876)
-
fix: decode non-latin characters when previewing prerendered pages (#β12874)
-
fix: better error message when a
Resultis returned from a form action (#β12829) -
docs: update URLs for new svelte.dev site (#β12857)
v2.7.2
Patch Changes
- fix: use absolute links in JSDoc comments (#β12718)
v2.7.1
Patch Changes
-
chore: upgrade to sirv 3.0 (#β12796)
-
fix: warn when form action responses are lost because SSR is off (#β12063)
v2.7.0
Minor Changes
- feat: update service worker when new version is detected (#β12448)
Patch Changes
-
fix: correctly handle relative paths when fetching assets on the server (#β12113)
-
fix: decode non ASCII anchor hashes when scrolling into view (#β12699)
-
fix: page response missing CSP and Link headers when return promise in
load(#β12418)
v2.6.4
Patch Changes
-
fix: only preload links that have a different URL than the current page (#β12773)
-
fix: revert change to replace version in generateBundle (#β12779)
-
fix: catch stack trace fixing errors thrown in web containers (#β12775)
-
fix: use absolute links in JSDoc comments (#β12772)
v2.6.3
Patch Changes
-
fix: ensure a changing
versiondoesn't affect the hashes for chunks without any actual code changes (#β12700) -
fix: prevent crash when logging URL search params in a server load function (#β12763)
-
chore: revert update dependency cookie to ^0.7.0 (#β12767)
v2.6.2
Patch Changes
- chore(deps): update dependency cookie to ^0.7.0 (#β12746)
v2.6.1
Patch Changes
- fix: better error message when calling push/replaceState before router is initialized (#β11968)
v2.6.0
Minor Changes
- feat: support typed arrays in
loadfunctions (#β12716)
Patch Changes
- fix: open a new tab for
<form target="_blank">and `
Configuration
π Schedule: Branch creation - "" in timezone Europe/Vienna, Automerge - "* 0-3 * * *" in timezone Europe/Vienna.
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Deploying svelte-tiny-virtual-list with Β
Β Cloudflare Pages
| Latest commit: |
f42d39b
|
| Status: | Β β Β Deploy successful! |
| Preview URL: | https://49445079.svelte-tiny-virtual-list.pages.dev |
| Branch Preview URL: | https://renovate-npm-sveltejs-kit-vu.svelte-tiny-virtual-list.pages.dev |