Archived link

The polyfill.js is a popular open source library to support older browsers. 100K+ sites embed it using the cdn.polyfill.io domain. Notable users are JSTOR, Intuit and World Economic Forum. However, in February this year, a Chinese company bought the domain and the Github account. Since then, this domain was caught injecting malware on mobile devices via any site that embeds cdn.polyfill.io. Any complaints were quickly removed (archive here) from the Github repository.

  • 9point6@lemmy.world
    link
    fedilink
    English
    arrow-up
    78
    arrow-down
    7
    ·
    6 months ago

    Not a solution. Much of the modern web is reliant on JavaScript to function.

    Noscript made sense when the web was pages with superfluous scripts that enhanced what was already there.

    Much of the modern web is web apps that fundamentally break without JS. And picking and choosing unfortunately won’t generally protect from this because it’s common practice to use a bundler such as webpack to keep your page weight down. This will have been pulled in as a dependency in many projects and the site either works or does not based on the presence of the bundle.

    Not saying this is a great situation or anything, but suggesting noscript as a solution is increasingly anachronistic.

    • dan@upvote.au
      link
      fedilink
      English
      arrow-up
      7
      ·
      6 months ago

      This will have been pulled in as a dependency in many projects and the site either works or does not based on the presence of the bundle.

      This wasn’t bundled. People inserted a script tag pointing to a third-party CDN onto their sites. The output changes depending on the browser (it only loads the polyfills needed for the current browser) so you can’t even use a subresource integrity hash.

    • Optional@lemmy.world
      link
      fedilink
      English
      arrow-up
      18
      arrow-down
      12
      ·
      6 months ago

      Much of the modern web is reliant on JavaScript to function.

      “function” is doing a lot of lifting there. Trackers, ads, and assorted other bullshit is not the kind of functioning anyone needs.

      It’s true the average user gets flummoxed quickly when the scripts are blocked, but they can either sink (eat ads and trackers) or swim (learn what scripts to allow). (Spoiler: they almost always sink)

    • btaf45@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      6 months ago

      Not a solution. Much of the modern web is reliant on JavaScript to function.

      And much of it works better and faster without JavaScript. Some sites don’t work in Noscript, but most sites run faster and work well enough.

        • dan@upvote.au
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          6 months ago

          In this case the script wasn’t bundled at all - it was hotlinked from a third party CDN. Adding malicious code instantly affects all the sites that load it.

          The output differs depending on browser (it only loads the polyfills your browser needs) so it’s incompatible with subresource integrity.

      • PopOfAfrica@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        6 months ago

        Imo, computing, like all other things, requires a little trust and risk. The problem is most people are Wayyy to trusting in general.

      • 9point6@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        arrow-down
        2
        ·
        6 months ago

        Flash was magnitudes worse than the risk of JS today, it’s not even close.

        Accessibility is orthogonal to JavaScript if the site is being built to modern standards.

        Unfortunately preference is not reality, the modern web uses JavaScript, no script is not an effective enough solution.

          • 9point6@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            6 months ago

            Well, by that measure, you don’t need JavaScript to make inaccessible sites, there are plenty of sites out there that ruin accessibility with just HTML and CSS alone.

            It’s always up to the developer to make sure the site is accessible. At least now it seems to be something that increasingly matters to search result rankings

          • 9point6@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            6 months ago

            Flash ran as a browser plugin (as in not an extension, but a native binary that is installed into the OS and runs beside the browser, we basically don’t do this for anything now)

            Flash was pretty much on weekly security bulletins in the final years, arbitrary code execution and privilege escalation exploits were common, that’s why Adobe killed it.

            Flash was never safe and comparing JavaScript to it as a greater risk shows you’ve not fully understood the threat model of at least one of the two.

              • 9point6@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                6 months ago

                That’s literally the one main somewhat valid use case for plugins, and it’s basically because of DRM. A plugin that allows arbitrary code to run is a security nightmare, that’s why we don’t do it anymore.

                A lot of the security features you describe were added by browser vendors late in the game because of how much of a security nightmare flash was. I was building web software back when this was all happening, I know first hand. People actually got pissy when browsers blocked the ability for flash to run without consent and access things like the clipboard. I even seem to remember a hacky way of getting at the filesystem in flash via using the file upload mechanism, but I can’t remember the specifics as this was obviously getting close to two decades ago now.

                Your legitimate concerns about JavaScript are blockable by the browser.

                Flash was a big component of something called the evercookie—one of the things that led to stuff like GDPR because of how permanently trackable it made people. Modern JavaScript tracking is (quite rightfully) incredibly limited compared to what was possible with flash around. You could track users between browsers FFS.

                You’re starting to look like you don’t know what you’re talking about here.

                  • 9point6@lemmy.world
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    6 months ago

                    Mate, actionscript was not only basically JavaScript with adobe vendor extensions, but it was literally a programming language! If that’s not arbitrary code, then you’ve got a crazy definition of what is! You’ve kinda unequivocally demonstrated that you have no idea what you’re talking about at this point, I’m afraid.

                    And way to completely misunderstand the evercookie. The flash part was how it could jump between browsers, no browser cookie can do that. It was a combination of everything that made it such a problem.