Skip to content

Commit 338fad2

Browse files
committed
web: Make document.currentScript resilient against DOM clobbering
See - whatwg/html#10687 - GHSA-4vvj-4cpr-p986
1 parent 9e59de9 commit 338fad2

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

web/packages/core/src/current-script.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ export let isExtension = false;
55

66
try {
77
if (
8-
document.currentScript !== undefined &&
9-
document.currentScript !== null &&
10-
"src" in document.currentScript &&
8+
document.currentScript instanceof HTMLScriptElement &&
119
document.currentScript.src !== ""
1210
) {
1311
let src = document.currentScript.src;
@@ -21,8 +19,8 @@ try {
2119
currentScriptURL = new URL(".", src);
2220
isExtension = currentScriptURL.protocol.includes("extension");
2321
}
24-
} catch (_e) {
25-
console.warn("Unable to get currentScript URL");
22+
} catch (e) {
23+
console.warn("Unable to get currentScript URL", e);
2624
}
2725

2826
/**

web/packages/selfhosted/js/ruffle.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ let currentScriptURL = null;
77

88
try {
99
if (
10-
document.currentScript !== undefined &&
11-
document.currentScript !== null &&
12-
"src" in document.currentScript &&
10+
document.currentScript instanceof HTMLScriptElement &&
1311
document.currentScript.src !== ""
1412
) {
1513
let src = document.currentScript.src;
@@ -22,9 +20,8 @@ try {
2220

2321
currentScriptURL = new URL(".", src);
2422
}
25-
// eslint-disable-next-line no-unused-vars
26-
} catch (_e) {
27-
console.warn("Unable to get currentScript URL");
23+
} catch (e) {
24+
console.warn("Unable to get currentScript URL", e);
2825
}
2926

3027
function publicPath(config) {

0 commit comments

Comments
 (0)