- Top reward
- $6,000
- Top severity paid
- High
- Assets in scope
- 9
- Public CVEs
- 32
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays up to $6,000
- for high bugs, from $625.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Replies within 1 day
- As the policy promises.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| High |
|
$6,000 |
| Medium |
|
$1,250 |
| Low |
|
$625 |
- Response
-
Within 1 days
1 business day First response
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
9 assets you may test, 8 excluded.
Web 1
- https://svelte.dev
Products and areas 8
- Client-side code generation, covering DOM updates, event wiring, actions, transitions and {@html} handling
- Server-side code generation and the escaping helpers the generated output calls in text, attribute, style and script contexts
- SvelteKit at Tier 2: routing, the handle and handleFetch hooks, form actions, remote functions, the CSRF and origin checks, and the request handling in the official adapters
- SvelteKit's server-only module isolation at Tier 2, the mechanism that keeps $lib/server and *.server.js code out of a public bundle
- The client runtime and reactivity system, including runes, stores and the effect graph
- The compiler front end: template parsing, the analysis pass, and the way markup, expressions and directives become an internal representation
- The public compiler API that build tools, adapters and downstream frameworks consume
- The sveltejs/svelte repository itself, listed under Tier 1 (High Priority) as a source-code asset that is bounty-eligible up to critical severity. SvelteKit is in scope too, at Tier 2, where a critical is capped at $5,000
Out of scope (8)
- Archived repositories and end-of-life versions that are no longer maintained
- Examples, templates and documentation snippets rather than the compiler or framework code
- Handle-hook authorization bypass via percent-encoded pathnames where the developer chose to compare raw path strings themselves
- Prototype pollution in SSR internals reported without a full chain to concrete impact
- Reports without the mandatory working proof-of-concept zip, which are not eligible regardless of severity
- The Tier 1 ceiling on anything SvelteKit-specific: that asset is capped at $5,000 for a critical, so a SvelteKit finding cannot reach the compiler's $10,000 row
- Third-party dependency CVEs without a demonstrated end-to-end chain through Svelte or SvelteKit
- x-sveltekit-pathname header spoofing, unless you can show the framework itself trusts that header
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Submit through sorona.xyz first.
-
Include a zip file with working proof-of-concept code, without one the report is not bounty-eligible
-
Quote a SvelteKit finding at the Tier 2 rate, not the Tier 1 rate: the compiler is the $10,000 asset and SvelteKit is capped at $5,000
-
Prototype pollution and similar internals bugs need a complete chain to concrete impact before they are scored
-
The defect has to be the framework's own, not an application author's decision to hand raw path strings or unescaped input to Svelte
-
Vercel's confidentiality obligations run for two years and survive the end of the program
Not accepted
-
Prototype pollution in SSR internals reported without a full chain to concrete impact
-
Handle-hook authorization bypass via percent-encoded pathnames where the developer chose to compare raw path strings themselves
-
x-sveltekit-pathname header spoofing, unless you can show the framework itself trusts that header
-
Archived repositories and end-of-life versions that are no longer maintained
-
Examples, templates and documentation snippets rather than the compiler or framework code
-
Third-party dependency CVEs without a demonstrated end-to-end chain through Svelte or SvelteKit
-
Reports without the mandatory working proof-of-concept zip, which are not eligible regardless of severity
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 9 minutes ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-82257 | SvelteKit versions before 2.69.1 contain a prototype pollution vulnerability in remote form functions with file input fields that accept arbitrary user-controlled path names. Attackers can manipulate the deletion path to remove methods on the prototype, potentially disabling application functionality. | Medium 5.3 | 28 Aug 2026 |
| CVE-2026-82258 | SvelteKit versions from 2.38.0 before 2.60.1 contain a race condition in query.batch that allows concurrent requests from different users to merge under a single request context. Attackers can exploit specific timing conditions to access sensitive data from other users' concurrent requests. | Medium 5.9 | 28 Aug 2026 |
| CVE-2026-82259 | SvelteKit versions from 2.49.0 through 2.53.2 (fixed in 2.53.3) contain a deserialization expansion issue in the experimental form remote function. When an application enables experimental.remoteFunctions and uses the form function to process the files array without validating files.length or individual file sizes, an attacker can submit relatively small inputs that expand into very large file arr | High 8.7 | 28 Aug 2026 |
| CVE-2026-82260 | SvelteKit (@sveltejs/kit) versions >=2.49.0 and <=2.52.1 with experimental remote functions (experimental.remoteFunctions) and form enabled contain a memory exhaustion vulnerability in remote form deserialization. Malformed form data can cause excessive memory allocation, crashing the server process and resulting in denial of service. Fixed in 2.52.2. | High 8.7 | 28 Aug 2026 |
| CVE-2026-82261 | SvelteKit (@sveltejs/kit) versions >=2.49.0 and <=2.52.1 with experimental remote functions and form enabled contain a CPU exhaustion vulnerability in form deserialization. An attacker can send malformed form data to cause the server to become unresponsive while processing the request, resulting in denial of service. Fixed in 2.52.2. | High 8.7 | 28 Aug 2026 |
| CVE-2026-82256 | SvelteKit before 2.69.1 fails to properly validate remote form function payload sizes, allowing attackers to crash the Node process by sending large payloads. Repeated exploitation causes denial of service by repeatedly crashing the application process. | Medium 6.9 | 28 Aug 2026 |
| CVE-2026-42599 | Svelte is a performance oriented web framework. Prior to version 5.55.7, when using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject malicious event handlers that execute in victims' browsers. Note that this vulnerability | Medium 5.1 | 9 Jun 2026 |
| CVE-2026-42567 | Svelte is a performance oriented web framework. From version 5.51.5 to before version 5.55.7, an internal regex in the Svelte runtime can take exponential time to test in <svelte:element this={tag}></svelte:element>. This issue has been patched in version 5.55.7. | Medium 5.9 | 9 Jun 2026 |
| CVE-2026-42570 | Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From version 5.6.3 to before version 5.8.1, devalue.parse could, due to quirks in some JavaScript engines, be convinced to allocate much more memory than was needed when deserializing sparse arrays, leading to excessive memory consumption. This issue has been patched in vers | High 7.5 | 9 Jun 2026 |
| CVE-2026-42573 | Svelte is a performance oriented web framework. Prior to version 5.55.7, Svelte was vulnerable to DOM clobbering of its internal framework state on elements, potentially leading to XSS attacks. This issue has been patched in version 5.55.7. | Medium 5.3 | 9 Jun 2026 |
| CVE-2026-40074 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to 2.57.1, redirect, when called from inside the handle server hook with a location parameter containing characters that are invalid in a HTTP header, will cause an unhandled TypeError. This could result in DoS on some platforms, especially if the location passed to redirect contains unsanitized | Medium 6.3 | 10 Apr 2026 |
| CVE-2026-40073 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to 2.57.1, under certain circumstances, requests could bypass the BODY_SIZE_LIMIT on SvelteKit applications running with adapter-node. This bypass does not affect body size limits at other layers of the application stack, so limits enforced in the WAF, gateway, or at the platform level are unaff | High 8.2 | 10 Apr 2026 |
| CVE-2026-30226 | Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. In devalue v5.6.3 and earlier, devalue.parse and devalue.unflatten were susceptible to prototype pollution via maliciously crafted payloads. Successful exploitation could lead to Denial of Service (DoS) or type confusion. This vulnerability is fixed in 5.6.4. | Medium 6.3 | 11 Mar 2026 |
| CVE-2026-27901 | Svelte performance oriented web framework. Prior to version 5.53.5, the contents of `bind:innerText` and `bind:textContent` on `contenteditable` elements were not properly escaped. This could enable HTML injection and Cross-Site Scripting (XSS) if rendering untrusted data as the binding's initial value on the server. Version 5.53.5 fixes the issue. | Medium 5.3 | 26 Feb 2026 |
| CVE-2026-27902 | Svelte performance oriented web framework. Prior to version 5.53.5, errors from `transformError` were not correctly escaped prior to being embedded in the HTML output, causing potential HTML injection and XSS if attacker-controlled content is returned from `transformError`. Version 5.53.5 fixes the issue. | Medium 5.3 | 26 Feb 2026 |
| CVE-2026-27121 | svelte performance oriented web framework. Versions of svelte prior to 5.51.5 are vulnerable to cross-site scripting (XSS) during server-side rendering. When using spread syntax to render attributes from untrusted data, event handler properties are included in the rendered HTML output. If an application spreads user-controlled or external data as element attributes, an attacker can inject maliciou | Medium 5.1 | 20 Feb 2026 |
| CVE-2026-27122 | svelte performance oriented web framework. Prior to 5.51.5, when using <svelte:element this={tag}> in server-side rendering, the provided tag name is not validated or sanitized before being emitted into the HTML output. If the tag string contains unexpected characters, it can result in HTML injection in the SSR output. Client-side rendering is not affected. This vulnerability is fixed in 5.51.5. | Medium 5.1 | 20 Feb 2026 |
| CVE-2026-27125 | svelte performance oriented web framework. Prior to 5.51.5, in server-side rendering, attribute spreading on elements (e.g. <div {...attrs}>) enumerates inherited properties from the object's prototype chain rather than only own properties. In environments where Object.prototype has already been polluted — a precondition outside of Svelte's control — this can cause unexpected attributes to appear | Medium 5.3 | 20 Feb 2026 |
| CVE-2026-27119 | svelte performance oriented web framework. From 5.39.3, <=5.51.4, in certain circumstances, the server-side rendering output of an <option> element does not properly escape its content, potentially allowing HTML injection in the SSR output. Client-side rendering is not affected. This vulnerability is fixed in 5.51.5. | Medium 5.1 | 20 Feb 2026 |
| CVE-2025-15265 | An SSR XSS exists in async hydration when attacker‑controlled keys are passed to hydratable. The key is embedded inside a <script> block without HTML‑safe escaping, allowing </script> to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users' browsers, with potential for session theft and account compromise. This issue affects Svelte: from 5.46.0 before | Medium 5.3 | 15 Jan 2026 |
| CVE-2026-22774 | Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From 5.3.0 to 5.6.1, certain inputs can cause devalue.parse to consume excessive CPU time and/or memory, potentially leading to denial of service in systems that parse input from untrusted sources. This affects applications using devalue.parse on externally-supplied data. Th | High 7.5 | 15 Jan 2026 |
| CVE-2026-22775 | Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From 5.1.0 to 5.6.1, certain inputs can cause devalue.parse to consume excessive CPU time and/or memory, potentially leading to denial of service in systems that parse input from untrusted sources. This affects applications using devalue.parse on externally-supplied data. Th | High 7.5 | 15 Jan 2026 |
| CVE-2026-22803 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. From 2.49.0 to 2.49.4, the experimental form remote function uses a binary data format containing a representation of submitted form data. A specially-crafted payload can cause the server to allocate a large amount of memory, causing DoS via memory exhaustion. This vulnerability is fixed in 2.49.5. | High 8.2 | 15 Jan 2026 |
| CVE-2025-67647 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Prior to 2.49.5, SvelteKit is vulnerable to a server side request forgery (SSRF) and denial of service (DoS) under certain conditions. From 2.44.0 through 2.49.4, the vulnerability results in a DoS when your app has at least one prerendered route (export const prerender = true). From 2.19.0 through 2. | High 8.4 | 15 Jan 2026 |
| CVE-2024-53261 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. "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)." The files `packages/kit/src/exports/vite/dev/index.js` and `packages/kit/src/exports/vite/utils.js` both contain user contr | Low 2.0 | 25 Nov 2024 |
| CVE-2024-53262 | SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. The static error.html template for errors contains placeholders that are replaced without escaping the content first. error.html is the page that is rendered when everything else fails. It can contain the following placeholders: %sveltekit.status% — the HTTP status, and %sveltekit.error.message% — the | Low 2.0 | 25 Nov 2024 |
| CVE-2024-45047 | svelte performance oriented web framework. A potential mXSS vulnerability exists in Svelte for versions up to but not including 4.2.19. Svelte improperly escapes HTML on server-side rendering. The assumption is that attributes will always stay as such, but in some situation the final DOM tree rendered on browsers is different from what Svelte expects on server-side rendering. This may be leveraged | Medium 5.4 | 30 Aug 2024 |
| CVE-2024-23641 | SvelteKit is a web development kit. In SvelteKit 2, sending a GET request with a body eg `{}` to a built and previewed/hosted sveltekit app throws `Request with GET/HEAD method cannot have body.` and crashes the preview/hosting. After this happens, one must manually restart the app. `TRACE` requests will also cause the app to crash. Prerendered pages and SvelteKit 1 apps are not affected. `@svelte | High 7.5 | 24 Jan 2024 |
| CVE-2023-29008 | The SvelteKit framework offers developers an option to create simple REST APIs. This is done by defining a `+server.js` file, containing endpoint handlers for different HTTP methods. SvelteKit provides out-of-the-box cross-site request forgery (CSRF) protection to its users. The protection is implemented at `kit/src/runtime/server/respond.js`. While the implementation does a sufficient job of miti | High 8.8 | 6 Apr 2023 |
| CVE-2023-29003 | SvelteKit is a web development framework. The SvelteKit framework offers developers an option to create simple REST APIs. This is done by defining a `+server.js` file, containing endpoint handlers for different HTTP methods. SvelteKit provides out-of-the-box cross-site request forgery (CSRF) protection to its users. While the implementation does a sufficient job in mitigating common CSRF attacks, | High 8.8 | 4 Apr 2023 |
| CVE-2022-25875 | The package svelte before 3.49.0 are vulnerable to Cross-site Scripting (XSS) due to improper input sanitization and to improper escape of attributes when using objects during SSR (Server-Side Rendering). Exploiting this vulnerability is possible via objects with a custom toString() function. | Medium 5.4 | 12 Jul 2022 |
| CVE-2021-29261 | The unofficial Svelte extension before 104.8.0 for Visual Studio Code allows attackers to execute arbitrary code via a crafted workspace configuration. | High 7.8 | 5 Apr 2021 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays sorona.xyz pays 1.25× the program's reward, up to +$1,000 per finding, plus a complexity bonus of up to $1,000 for especially complex or well-chained bugs. Finding │ Program pays │ Through sorona.xyz Critical (Svelte compiler, Tier 1 asset) │ $10,000 │ $11,000 High │ $5,000 │ $6,000 Medium │ $1,000 │ $1,250 Low │ $500 │ $625 Critical in SvelteKit (Tier 2 asset, capped at $5,000) │ $5,000 │ $6,000 Submit a vulnerability CVE history 12 Last 12 months 14 Lifetime XSS 45 % Injection 20 % Info disclosure 15 % Denial of service 10 % Latest advisories Loading the feed Overview Svelte is a compiler rather than a runtime library, so it compiles away and the code it generates is inlined directly into every application built with it. It is downloaded several million times a week and is the third most-used component framework after React and Vue. That build-time-to-runtime propagation is what makes it a supply-chain target: an escaping bug in the compiler's SSR output path is a single defect that becomes an XSS in every server-rendered Svelte application simultaneously, and it is only fixed once every downstream project rebuilds. Vercel pays the compiler as a Tier 1 asset on its open-source program, from $500 for a low finding up to $10,000 for a critical, with SvelteKit scored one tier lower. sorona.xyz adds 1.25× on top of whatever Vercel awards, up to $1,000 more, plus a complexity bonus of up to $1,000 for a well-chained finding. Response times 1 business day First response 7 business days Triage 10 business days after triage Bounty In scope The sveltejs/svelte repository itself, listed under Tier 1 (High Priority) as a source-code asset that is bounty-eligible up to critical severity. SvelteKit is in scope too, at Tier 2, where a critical is capped at $5,000 The compiler front end: template parsing, the analysis pass, and the way markup, expressions and directives become an internal representation Server-side code generation and the escaping helpers the generated output calls in text, attribute, style and script contexts Client-side code generation, covering DOM updates, event wiring, actions, transitions and {@html} handling The client runtime and reactivity system, including runes, stores and the effect graph The public compiler API that build tools, adapters and downstream frameworks consume SvelteKit at Tier 2: routing, the handle and handleFetch hooks, form actions, remote functions, the CSRF and origin checks, and the request handling in the official adapters SvelteKit's server-only module isolation at Tier 2, the mechanism that keeps $lib/server and *.server.js code out of a public bundle Out of scope Prototype pollution in SSR internals reported without a full chain to concrete impact Handle-hook authorization bypass via percent-encoded pathnames where the developer chose to compare raw path strings themselves x-sveltekit-pathname header spoofing, unless you can show the framework itself trusts that header Archived repositories and end-of-life versions that are no longer maintained Examples, templates and documentation snippets rather than the compiler or framework code Third-party dependency CVEs without a demonstrated end-to-end chain through Svelte or SvelteKit The Tier 1 ceiling on anything SvelteKit-specific: that asset is capped at $5,000 for a critical, so a SvelteKit finding cannot reach the compiler's $10,000 row Reports without the mandatory working proof-of-concept zip, which are not eligible regardless of severity Most-valued findings An escaping failure in compiler-generated SSR output, the highest-value class here because one compiler defect becomes an XSS across every server-rendered Svelte site at once Template-literal injection in the SSR compiler that turns entity sequences into live expressions in the emitted JavaScript A server-only module guard bypass that puts $lib/server code, credentials, or internal data into the client bundle An XSS chained onward into session or token theft rather than demonstrated as an alert box On the SvelteKit side, a BODY_SIZE_LIMIT bypass in the Node adapter or unbounded allocation in Remote Function form parsing, both worth filing at the Tier 2 rate Any of the above shown against the compiler's default output rather than a configuration the reporter had to weaken Program rules Submit through sorona.xyz first. We validate, coordinate with the program's security team, and add the payout uplift on top of whatever it awards. Include a zip file with working proof-of-concept code, without one the report is not bounty-eligible Quote a SvelteKit finding at the Tier 2 rate, not the Tier 1 rate: the compiler is the $10,000 asset and SvelteKit is capped at $5,000 Prototype pollution and similar internals bugs need a complete chain to concrete impact before they are scored The defect has to be the framework's own, not an application author's decision to hand raw path strings or unescaped input to Svelte Vercel's confidentiality obligations run for two years and survive the end of the program Program stats 100 Reports resolved $241k Bounties paid 89% Response efficiency Disclosure Coordinated through Vercel. The program treats report contents as confidential and asks for written consent before anything is shared, so publication timing is Vercel's call rather than a fixed clock. sorona.xyz holds your finding until Vercel has resolved it. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability