Skip to content

Commit 4d65e40

Browse files
authored
prevent popup bridge xss (#2371)
1 parent 6cb970b commit 4d65e40

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Diff for: src/lib/dom.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -237,10 +237,14 @@ export function extendUrl(url : string, params : { [key : string] : string } = {
237237
}
238238
239239
export function redirect(win : CrossDomainWindowType = window, url : string) : ZalgoPromise<void> {
240-
return new ZalgoPromise(resolve => {
240+
return new ZalgoPromise((resolve, reject) => {
241241
242242
info(`redirect`, { url });
243243

244+
if (url.toLowerCase().replace(/[^a-z:]+/g, '').match(/^javascript:/)) {
245+
return reject(new Error('Invalid redirect URL'));
246+
}
247+
244248
setTimeout(() => {
245249
win.location = url;
246250
if (!urlWillRedirectPage(url)) {

0 commit comments

Comments
 (0)