- From: Bil Corry <bil@corry.biz>
- Date: Thu, 9 Mar 2017 07:43:42 -0700
- To: Taras Ivashchenko <oxdef@yandex-team.ru>
- Cc: WebAppSec WG <public-webappsec@w3.org>
- Message-Id: <41381B3B-92E0-45E9-AD1F-B9CA55A48806@corry.biz>
Back in 2008, I provided feedback on a newly proposed CSP specification. My very first item addressed a shortcoming regarding CSP versioning.
I suggested the client send a header with the version of CSP it supports (if any), and the server could then respond with the CSP header for that version (or make other security choices).
I even called out that it would be better than having multiple CSP headers expressed by the server, e.g.
X-Content-Security-Policy: ...
X-Content-Security-Policy2: ...
X-Content-Security-Policy3: ...
X-Content-Security-Policy4: ...
X-Content-Security-Policy5: ...
Instead, the spec omitted a versioning scheme, perhaps because some believed that there would never be a version 2 of CSP.
The entire thread is here and makes for interesting reading, given what we know today:
https://groups.google.com/forum/m/#!msg/mozilla.dev.security/slJarIvaMM0/discussion
- Bil
> On Mar 9, 2017, at 2:01 AM, Taras Ivashchenko <oxdef@yandex-team.ru> wrote:
>
> Hello!
>
> It is awkward to maintain backward compatible CSP policy, e.g. keep in it unsafe-inline with nonce for CSPv1 or frame-
> src/child-src. It looks like in the future versions of CSP such problem will be more obvious.
> In some cases in web application it is easer to have support of only the last one standard.
> What do you think about adding ability to specify the version of used CSP?
> It can be done in header name like:
>
> Content-Security-Policy-v3: ...
>
> If browser meets more the one CSP header it should use header with the latest support version.
>
> I had also reported the issue on GitHub but there is no activity in it during 8 days
> https://github.com/w3c/webappsec-csp/issues/189
>
> --
> Taras Ivashchenko
> Information Security Officer,
> Yandex
Received on Thursday, 9 March 2017 14:44:17 UTC