Local script override breaks SRI
Categories
(DevTools :: Debugger, defect, P3)
Tracking
(Not tracked)
People
(Reporter: denschub, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
application/zip
|
Details |
STR:
- Open this testcase, which is also attached.
- Observe that the body contains a "hello, world!" message
- Open the JS Debugger, search the
main.js
script in the sidebar, add a script override - Save the file without any changes
- Reload
Expected:
The testcase should still work fine.
Actual:
JS fails. In the console, you can see
“data:application/x-javascript;base64,...” is not eligible for integrity checks since it’s neither CORS-enabled nor same-origin.
and even if the resource would be eligible for SRI checks, they'd fail as soon as you change the contents of that script file, so it would be best to turn off SRI checks at all for scripts with local overrides.
I'll note that I have yet experience this as an actual issue while doing diagnosis work, and Tom has only seen it once. I'm filing this primarily to not forget about this, but this probably has low priority.
I will, however, also note that cdnjs generates <script>
tags that have both a CORS-attribute and an integrity
attribute by default.
Comment 1•1 years ago
|
||
We probably need a bail out in case of script override over there:
https://searchfox.org/mozilla-central/rev/a4fd6daad3a4123d995478467c1274653b283801/dom/security/SRICheck.cpp#336-338
Or... reset nsIHttpChannelInternal.integrityMetadata
, but I suspect it may not be enough:
https://searchfox.org/mozilla-central/rev/a4fd6daad3a4123d995478467c1274653b283801/netwerk/protocol/http/nsIHttpChannelInternal.idl#408
Updated•1 years ago
|
Description
•