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.

  • @parpol
    link
    English
    13 days ago

    We still use plugins. In fact you most likely have one installed right now for video encoding. JavaScript not being a plugin is the reason we only have two major browser cores. Chromium and gecko. JavaScript prevents new browsers from entering the ecosystem due to how hard it is to implement unlike how easy it would have been as a plugin.

    Flash had vulnerabilities because of neglect from adobe. The core design of flash and its earlier stages made by Macromedia were great. It had a sandboxes environment, and later it even was integrated into a browser sandbox just like JavaScript, eliminating most vulnerabilities.

    Flash was very limited in the malicious code it could run, as opposed to JavaScript which can automatically redirect you to malicious websites, install tracking cookies, access the browser canvas to install tracking pixels, freeze your entire browser, take control of your cursor, look at your entire clipboard history, collect enough information about you to competely identify and track your footprint over the entire internet.

    Flash couldn’t access your clipboard or files unless you clicked allow every time, couldn’t access anything outside of its little window, and if it froze, the browser was mostly unaffected, and flash had almost no ability to collect any data about your browser.

    • @[email protected]
      link
      fedilink
      English
      1
      edit-2
      3 days 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.

      • @parpol
        link
        English
        13 days ago

        Flash didn’t allow arbitrary code to run. It had a very limited scripting language (which design-wise is superior to JavaScript, by the way) to control canvas elements and playing sound. You couldn’t execute programs on your computer.

        If by late you mean right before action script 2. I was making flash games back then and I remember it being unable to access virtually anything without first triggering a prompt, which you could disable by right clicking, and going into properties.

        Your legitimate concerns about JavaScript are blockable by the browser.

        Yes, through NoScript. And it should be blocked, not blockable.

        It is funny you mention evercookie because that was a JavaScript library, and affected all cookies, not just flash cookies.

        Flash cookies being sharable between browsers was bad, but you could still easily clear those cookies, that is until a certain JavaScript library started restoring them automatically.

        • @[email protected]
          link
          fedilink
          English
          12 days 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.

          • @parpol
            link
            English
            12 days ago

            Arbitrary code execution is a vulnerability where you write and execute arbitrary code outside of the intended environment

            Just because Actionscript is a language doesn’t mean it has the functionality to do whatever to your machine. It lacks most of those functions because it is mostly a graphics library. It would have to run an already prepared external script via some improper memory pointer somewhere for it to be arbitrary code execution.

            And Actionscript is not built on top of JavaScript. Both JavaScript and ActionScript are based on ecmascript. They are different, just like Typescript and JavaScript are different.

            Actionscript was object oriented and had proper types unlike JavaScript which to this day is one of the worst programming languages.

            Are you sure I’m the one misunderstanding the problem of evercookie? Was the problem that you could access the same cookies from multiple browsers because of ActionScript, or was it that evercookie maliciously restored said deleted cookies after they were supposed to no longer be used? One is a feature that allows transferring sessions between browsers on the same computer. The other is essentially malware.

            • @[email protected]
              link
              fedilink
              English
              12 days ago

              ECMAscript is based on JavaScript

              I’m not gonna bother entertaining the rest of your post, you can’t seem to even get the basics right

              • @parpol
                link
                English
                12 days ago

                Ecmascript was made to standardize JavaScript, but it isn’t based on JavaScript. Actionscript is then based on ecmascript, making Actionscript a sibling to JavaScript, not a subset.