1. 18

    1. 11

      tldr: Chrome tried to make it safe to apply SVG filters to iframes by making the filters constant-time (so that their speed doesn’t depend on the content underneath), but it turns out GPU hardware has variable timing anyway.

      1. 3

        That’s an astonishingly stupid thing to do. There was an Oakland paper a few (6?) years ago that showed that you could use masks in filters with canvas to leak information because subnormals were vastly slower. In light of that, I find it astonishing that Chrome would permit a feature that looks vulnerable to the same attack without measuring.

      2. 2

        Genuine, non-rhetorical question: is this a consequence of Chrome pushing through web standards using their dominant market position? (In other words, have other browsers not caught up, or did they never really buy into this API functionality in the first place?)

        1. 2

          No, it’s only a consequence of ’90s Web standards being very naive about cross-site security.

          Chrome and everyone else has been trying to balance compatibility and features with security. Since Spectre/Meltdown have shown that the hardware is overcomplicated and leaky, all software protections have become even harder to implement.

    2. 10

      This page is a terrible misrepresentation of the claimed attack. Quoting from the site, emphasis mine:

      Am I affected by GPU.zip?

      Likely, yes.

      Chrome is vulnerable […] Other browsers, like Firefox and Safari, do not meet all these criteria and are therefore not vulnerable.

      This is a Chrome vulnerability.

      1. 1

        Given the market share chrome has, “Likely, yes” is sadly true.

      2. 1

        All modern browsers should probably be vulnerable…

        Quoting the three criteria from the site:

        1. It allows cross-origin iframes to be loaded with cookies. A browser that doesn’t support that breaks a lot of assumptions of the web
        2. It allows rendering SVG filters on iframes. Fancy visual effects are nice, but I guess unnecessary
        3. It delegates rendering tasks to the GPU. _This is necessary for good performance these days _