|
7 | 7 | <link href="https://www.w3.org/StyleSheets/TR/2021/W3C-WD" rel="stylesheet"> |
8 | 8 | <meta content="Bikeshed version 82ce88815, updated Thu Sep 7 16:33:55 2023 -0700" name="generator"> |
9 | 9 | <link href="https://www.w3.org/TR/CSP3/" rel="canonical"> |
10 | | - <meta content="f17c7b4bb5bba44802c4c66098b64aac9fee0703" name="document-revision"> |
| 10 | + <meta content="d091bce6fc43f33dcd4ad08cf7bc34069142abfa" name="document-revision"> |
11 | 11 | <style> |
12 | 12 | ul.toc ul ul ul { |
13 | 13 | margin: 0 0 0 2em; |
@@ -4645,6 +4645,7 @@ <h3 class="heading settled" data-level="8.1" id="multiple-policies"><span class= |
4645 | 4645 | it meets both policy’s criteria: in this case, the only origin that can match |
4646 | 4646 | is <code>http://example.com</code>, as both policies allow it.</p> |
4647 | 4647 | <h3 class="heading settled" data-level="8.2" id="strict-dynamic-usage"><span class="secno">8.2. </span><span class="content"> Usage of "<code>'strict-dynamic'</code>" </span><a class="self-link" href="#strict-dynamic-usage"></a></h3> |
| 4648 | + <p><em>This section is not normative.</em></p> |
4648 | 4649 | <p>Host- and path-based policies are tough to get right, especially on sprawling origins like CDNs. |
4649 | 4650 | The <a href="https://github.com/cure53/XSSChallengeWiki/wiki/H5SC-Minichallenge-3:-%22Sh*t,-it%27s-CSP!%22#107-bytes">solutions |
4650 | 4651 | to Cure53’s H5SC Minichallenge 3: "Sh*t, it’s CSP!"</a> <a data-link-type="biblio" href="#biblio-h5sc3" title="H5SC Minichallenge 3: "Sh*t, it's CSP!"">[H5SC3]</a> are good examples of the |
@@ -4731,6 +4732,7 @@ <h3 class="heading settled" data-level="8.3" id="unsafe-hashes-usage"><span clas |
4731 | 4732 | </section> |
4732 | 4733 | <section> |
4733 | 4734 | <h3 class="heading settled" data-level="8.4" id="external-hash"><span class="secno">8.4. </span><span class="content"> Allowing external JavaScript via hashes </span><a class="self-link" href="#external-hash"></a></h3> |
| 4735 | + <p><em>This section is not normative.</em></p> |
4734 | 4736 | <p>In <a data-link-type="biblio" href="#biblio-csp2" title="Content Security Policy Level 2">[CSP2]</a>, hash <a data-link-type="dfn" href="#source-expression" id="ref-for-source-expression⑨">source expressions</a> could only match inlined |
4735 | 4737 | script, but now that Subresource Integrity <a data-link-type="biblio" href="#biblio-sri" title="Subresource Integrity">[SRI]</a> is widely deployed, |
4736 | 4738 | we can expand the scope to enable externalized JavaScript as well.</p> |
@@ -4776,6 +4778,7 @@ <h3 class="heading settled" data-level="8.4" id="external-hash"><span class="sec |
4776 | 4778 | </section> |
4777 | 4779 | <section> |
4778 | 4780 | <h3 class="heading settled" data-level="8.5" id="strict-csp"><span class="secno">8.5. </span><span class="content"> Strict CSP </span><a class="self-link" href="#strict-csp"></a></h3> |
| 4781 | + <p><em>This section is not normative.</em></p> |
4779 | 4782 | <p>Deployment of an effective CSP against XSS is a challenge (as described in <a href="https://dl.acm.org/doi/10.1145/2976749.2978363">CSP Is Dead, Long |
4780 | 4783 | Live CSP!</a> <a data-link-type="biblio" href="#biblio-long-live-csp" title="CSP Is Dead, Long Live CSP! On the Insecurity of Whitelists and the Future of Content Security Policy">[LONG-LIVE-CSP]</a>). However, enforcing the following set of CSP |
4781 | 4784 | directives has been identified as an effective and deployable mitigation |
@@ -4804,6 +4807,7 @@ <h3 class="heading settled" data-level="8.5" id="strict-csp"><span class="secno" |
4804 | 4807 | </section> |
4805 | 4808 | <section> |
4806 | 4809 | <h3 class="heading settled" data-level="8.6" id="exfiltration"><span class="secno">8.6. </span><span class="content"> Exfiltration </span><a class="self-link" href="#exfiltration"></a></h3> |
| 4810 | + <p><em>This section is not normative.</em></p> |
4807 | 4811 | <p>Data exfiltration can occur when the contents of the request, such as the URL, contain |
4808 | 4812 | information about the user or page that should be restricted and not shared.</p> |
4809 | 4813 | <p>Content Security Policy can mitigate data exfiltration if used to create allowlists of servers |
|
0 commit comments