Skip to content

Commit 134e363

Browse files
authored
fix: ensure error messages are escaped (#13050)
1 parent d338d46 commit 134e363

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

.changeset/fast-swans-perform.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/kit': patch
3+
---
4+
5+
fix: ensure error messages are escaped

packages/kit/src/exports/vite/dev/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { compact } from '../../../utils/array.js';
1818
import { not_found } from '../utils.js';
1919
import { SCHEME } from '../../../utils/url.js';
2020
import { check_feature } from '../../../utils/features.js';
21+
import { escape_html } from '../../../utils/escape.js';
2122

2223
const cwd = process.cwd();
2324

@@ -508,7 +509,7 @@ export async function dev(vite, vite_config, svelte_config) {
508509
const error_template = ({ status, message }) => {
509510
return error_page
510511
.replace(/%sveltekit\.status%/g, String(status))
511-
.replace(/%sveltekit\.error\.message%/g, message);
512+
.replace(/%sveltekit\.error\.message%/g, escape_html(message));
512513
};
513514

514515
res.writeHead(500, {

packages/kit/src/runtime/server/utils.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { negotiate } from '../../utils/http.js';
55
import { HttpError } from '../control.js';
66
import { fix_stack_trace } from '../shared-server.js';
77
import { ENDPOINT_METHODS } from '../../constants.js';
8+
import { escape_html } from '../../utils/escape.js';
89

910
/** @param {any} body */
1011
export function is_pojo(body) {
@@ -50,7 +51,7 @@ export function allowed_methods(mod) {
5051
* @param {string} message
5152
*/
5253
export function static_error_page(options, status, message) {
53-
let page = options.templates.error({ status, message });
54+
let page = options.templates.error({ status, message: escape_html(message) });
5455

5556
if (DEV) {
5657
// inject Vite HMR client, for easier debugging

0 commit comments

Comments
 (0)