All vulnerabilities
CVE-2024-53262GHSA-mh2x-fcqh-fmqv

@sveltejs/kit has unescaped error message included on error page

sveltejs @sveltejs/kitnpmLibraries & packages
CVSS
1.3Low
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.48%Chance of exploitation activity in the next 30 days, higher than 40% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2.8.3Fixed versionGitHub
Published25 Nov 2024Updated 18 Oct 2026CVE List

What fixes it

  • 2.8.3@sveltejs/kit, npmGitHubnpm install @sveltejs/kit@2.8.3

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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

Text from GitHub Advisory Database

Affected versions 3

  • @sveltejs/kit, npm< 2.8.3GitHub
  • kitaffected: < 2.8.3CVE List
  • @sveltejs/kit, npmfrom first release, fixed in 2.8.3OSV

References 7