W3C home > Mailing lists > Public > public-webappsec@w3.org > September 2015

Re: [CSP2] connect-src 'self' and websockets

From: Brad Hill <hillbrad@gmail.com>
Date: Mon, 28 Sep 2015 18:46:48 +0000
Message-ID: <CAEeYn8jgFiJR1CVxOntawvYbkTtbhJ44u-NpO6T2Zo13R5GOxg@mail.gmail.com>
To: André N. Klingsheim <andre.klingsheim@owasp.org>, Daniel Veditz <dveditz@mozilla.com>, Mike West <mkwst@google.com>
Cc: public-webappsec@w3.org
<hat='individual'>
I'm also a bit skeptical about allowing 'self' to implicitly cross
protocols. Especially since WebSockets and XHR/Fetch have different
security models around allowing access to returned data.  CSP is about
restricting from where data and code can flow into an app; it seems
legitimate to not want new data flows from ws/wss endpoints into certain
resources.

On Mon, Sep 28, 2015 at 11:27 AM André N. Klingsheim <
andre.klingsheim@owasp.org> wrote:

> > From: Daniel Veditz [mailto:dveditz@mozilla.com]
> > Sent: 28. september 2015 19:19
> >
> > On 9/28/15 6:43 AM, Mike West wrote:
> > > I think this is probably worth considering as a simplification for
> > > developers, though it complicates the model a little bit by changing
> > > an origin-based comparison into a host-based comparison. Locking it
> > > to schemes with the same security properties or better might be
> > > doable (e.g. 'self' on `http://example.com` could allow
> > > `ws://example.com ` or `wss://example.com`, but 'self' on
> > > `https://example.com` would only allow `wss://example.com`.
> >
> > I do not want CSP to devolve from origin-based to host-based (we've seen
> > where that gets us with cookies), but I could live with an explicit
> > exception equating "ws:" and "http:" wrt 'self'. Ports would still have
> > to match, of course.
> >
> > Are there non-trivial services that actually run a web socket on the
> > same port as their normal web pages? If not this change wouldn't help
> much.
> >
> > As Mike said, a request for CSP3 -- we're nearly wrapped up for CSP2.
> >
> > -Dan Veditz
>
> Thank you for your swift responses and insights.
>
> The behaviour is in line with the spec, I wanted to mention it so that the
> scenario could be considered for a future CSP version. Microsoft's SignalR
> uses web sockets when available and AFAIK the default setup is to mix this
> in with the "normal" web app, so I assume this is a common scenario.
>
> I'll post an issue on GitHub. Thank you all for your great work on CSP so
> far!
>
> -André N. Klingsheim
>
>
>
Received on Monday, 28 September 2015 18:47:29 UTC

This archive was generated by hypermail 2.3.1 : Monday, 23 October 2017 14:54:15 UTC