Skip to content

Commit 157abcf

Browse files
committed
fix(http): escape req.query.to in replaceTemplates
1 parent 4ba52d7 commit 157abcf

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/node/http.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { normalize, Options } from "../common/util"
77
import { AuthType, DefaultedArgs } from "./cli"
88
import { commit, rootPath } from "./constants"
99
import { Heart } from "./heart"
10-
import { getPasswordMethod, IsCookieValidArgs, isCookieValid, sanitizeString } from "./util"
10+
import { getPasswordMethod, IsCookieValidArgs, isCookieValid, sanitizeString, escapeHtml } from "./util"
1111

1212
declare global {
1313
// eslint-disable-next-line @typescript-eslint/no-namespace
@@ -35,7 +35,7 @@ export const replaceTemplates = <T extends object>(
3535
...extraOpts,
3636
}
3737
return content
38-
.replace(/{{TO}}/g, (typeof req.query.to === "string" && req.query.to) || "/")
38+
.replace(/{{TO}}/g, (typeof req.query.to === "string" && escapeHtml(req.query.to)) || "/")
3939
.replace(/{{BASE}}/g, options.base)
4040
.replace(/{{CS_STATIC_BASE}}/g, options.csStaticBase)
4141
.replace(/"{{OPTIONS}}"/, `'${JSON.stringify(options)}'`)

0 commit comments

Comments
 (0)