summaryrefslogtreecommitdiff
path: root/src/bg/ReportingCSP.js
diff options
context:
space:
mode:
authorhackademix2020-03-18 22:51:07 +0100
committerhackademix2020-03-18 22:51:07 +0100
commit5aff2e1d83cbe6bbaf6ae6db0fed41adc456286d (patch)
treed5c3242b8d7b11e365ec5f3fe033632f2a71a445 /src/bg/ReportingCSP.js
parent9b3a12f9a3a7a12420b759475b1983f6d387a195 (diff)
downloadnoscript-5aff2e1d83cbe6bbaf6ae6db0fed41adc456286d.tar.gz
noscript-5aff2e1d83cbe6bbaf6ae6db0fed41adc456286d.tar.xz
noscript-5aff2e1d83cbe6bbaf6ae6db0fed41adc456286d.zip
Prevent ANY redirection to data: URIs in documents.
Diffstat (limited to 'src/bg/ReportingCSP.js')
-rw-r--r--src/bg/ReportingCSP.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/bg/ReportingCSP.js b/src/bg/ReportingCSP.js
index 2da1bbc..e7ffe0a 100644
--- a/src/bg/ReportingCSP.js
+++ b/src/bg/ReportingCSP.js
@@ -35,11 +35,11 @@ function ReportingCSP(reportURI, reportGroup) {
h.name === REPORT_TO.name && h.value === REPORT_TO.value) {
needsReportTo = false;
} else if (blocker && /^(Location|Refresh)$/i.test(h.name)) {
+ // neutralize any HTTP redirection to data: URLs, like Chromium
let url = /^R/i.test(h.name)
? h.value.replace(/^[^,;]*[,;]url[^\w=]*=\s*/i, "") : h.value;
- let patched = CSP.patchDataURI(url, blocker);
- if (patched !== url) {
- h.value = h.value.slice(0, -url.length) + patched;
+ if (/^data:/i.test(url)) {
+ h.value = h.value.slice(0, -url.length) + "data:";
}
}
}