• the_weez@midwest.social
    link
    fedilink
    English
    arrow-up
    104
    ·
    2 days ago

    That’s actually a limitation on the Firefox side, they just flat out refuse to implement webusb. Any webapp that works with usb devices does the same thing. I’ve raged at Mozilla about this the last time they asked for my feedback and had no response.

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      80
      ·
      edit-2
      2 days ago

      WebUSB is absurd and shouldn’t exist. Web apps should not ever be able to work with USB devices! The core concept is wrong!

      A website shouldn’t even be allowed to know if I have a USB port at all, let alone anything else about my hardware. I’m not even convinced it should be allowed to know the viewport size of the browser window! All these APIs just make the attack surface fucking gargantuan and open up infinite opportunities for browser fingerprinting. They should be Considered Harmful and abolished.

      • cecilkorik@piefed.ca
        link
        fedilink
        English
        arrow-up
        17
        ·
        1 day ago

        I agree. It should be an opt-in permission, per-site, with the possibility to silently auto-reject always by default. Same with all the other advanced APIs like Wifi-Geolocation and WebGL etc, as they already mostly in my browser (Librewolf). These APIs are a trojan horse for fingerprinting, and it shows. If they weren’t, they wouldn’t mind disabling them by default.

        • PolarKraken@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 day ago

          Ah my bad. Commenter you’re replying to is saying we never should have built this capability, and it’s a terrible idea (my own words now) to weaken boundaries to this degree, it can never be done “safely”.

          But it does exist, and your own request to opt in is reasonable and would mark an improvement.

          spoiler

          My initial hasty comment: What? No, it shouldn’t exist. Either I’m trippin or you missed the point of the comment you’re responding to.

          “Opt-in” (your preference) can only exist if the capability exists. Comment says it shouldn’t. Commenter is correct.

          What is it you are saying…?

          • FooBarrington@lemmy.world
            link
            fedilink
            English
            arrow-up
            5
            ·
            1 day ago

            Honestly, this is such a shortsighted take. Awesome, instead of a simple “Allow?” dialogue to give the sandboxed website access to one specific USB device through an (over time) more and more well-tested implementation, we have to download untrusted binaries that by default get full access to large amounts of user data.

            What are you so afraid of? It’s already been live in Chromium browsers for a while, and the sky hasn’t fallen. And I’m convinced it has largely improved security for users who flash Arduino-like devices, smart home stuff, some phones and a bunch of keyboard/mouse stuff.

              • FooBarrington@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                18 hours ago

                Yeah, Chromium’s implementation is IMO very elegant and genuinely improves security for most people. That’s why I’m a little miffed by comments that paint it as an obviously terrible feature, just like happens with the “read/write to a specific local folder” API.

                These days, new browser features often aren’t in the users best interest, I understand and share the commonly discussed concerns on those. But compared to the alternatives, these specific APIs genuinely improve safety for most users AND make things more accessible for newbies and pros alike. Blocking them on principle (& without specific technical concerns) will not protect users when their remaining option gives malicious actors far more access without any exploits!

            • PolarKraken@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              3
              ·
              edit-2
              1 day ago

              I don’t use Chromium browsers. I’m afraid of the sky falling (it is). I have been “afraid” of it for a good long while, and it is occurring.

              That’s general - in this specific case, by my reckoning, it can never be safe for a website to understand, in any depth, the hardware of the machine requesting it.

              • FooBarrington@lemmy.world
                link
                fedilink
                English
                arrow-up
                2
                ·
                21 hours ago

                I’m afraid of the sky falling (it is).

                Somehow, I must’ve missed all these cases where bad actors abused the WebUSB API. So what did they do? What’s the worst damage the victims have suffered?

                That’s general - in this specific case, by my reckoning, it can never be safe for a website to understand, in any depth, the hardware of the machine requesting it.

                You still haven’t explained: why? When the options are “website” or “untrusted binary”, the website is objectively much safer. Sure, you can sandbox untrusted binaries - but then you can just sandbox the browser.

                Yes, there are security concerns, but these fears haven’t been confirmed in real life, and they don’t disappear if we ban WebUSB! Instead, people have to run untrusted code with access to far more hardware than WebUSB allows.

                • PolarKraken@lemmy.dbzer0.com
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  19 hours ago

                  Sorry, when I said “sky is falling” I meant a general erosion of user security and privacy, when using our “own” devices. Things like even systemd working to accommodate OS-level age verification these days. To me, the capability of WebUSB is a bad idea, because I simply never want that path for potential data flow even available, for the things my machine is used to do.

                  I do see what you mean about use cases like you’re describing, though, for flashing devices, and I concede the point that flashing random binaries isn’t meaningfully better and probably is a bit worse.

                  I still don’t want that capability anywhere near my own machine, for all of the not-that-use-case reasons. I do see your use case, do you see my concern?

                  • FooBarrington@lemmy.world
                    link
                    fedilink
                    English
                    arrow-up
                    3
                    ·
                    edit-2
                    19 hours ago

                    I do understand your concerns regarding safety, but not having WebUSB does not guarantee that malicious websites can’t access your USB devices. Both Firefox and Chromium already interact with your USB devices to provide features like debugging over USB, so malicious websites that exploit browser bugs are able to talk to your devices either way. And if we don’t count browser bugs, you can simply set your browser to block WebUSB by default to arrive at the same outcome.

                    Of course there is a chance that specific exploits could work in one case and not the other, but that’s something the real-life statistics haven’t shown to be an issue so far. Browsers are generally pretty safe these days due to multiple layers of sandboxing, so I’d be surprised to see major WebUSB-specific security exploits appearing in the future.


                    Edited to add:

                    Sorry, when I said “sky is falling” I meant a general erosion of user security and privacy, when using our “own” devices.

                    Same here, I hate the direction things are already clearly heading towards on mobile, and I expect desktops to get enshittified as well soon enough. But I see WebUSB as a major positive in that context (since it allows users to take control of their devices in a much easier and safer manner, & mostly guarantees backwards compatibility of such tools for many years to come). And although I’ve read comments similar to yours many times - this topic gets brought up fairly often - nobody has explained concrete technical issues that are likely to bite us.

      • BCsven@lemmy.ca
        link
        fedilink
        English
        arrow-up
        33
        ·
        2 days ago

        It is super helpful for flashing a pixel to GrapheneOS, especially for non technical folk

        • 0x0@infosec.pub
          link
          fedilink
          English
          arrow-up
          24
          ·
          edit-2
          2 days ago

          If they managed to install chrome and finding their way to grapheneos they can manage installing another program for flashing.

          The convenience of webusb is pretty overrated, id rather have my browser not tell any site everything asked and more.

            • kewjo@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              15 hours ago

              until google, microsoft, and all the big companies decide everything should be hosted and owned by them. having a browser do everything you can do locally is the first step to locking down the OS so everything can be subscription based. these giants love being able to use standards as a way to kill competition.

      • the_weez@midwest.social
        link
        fedilink
        English
        arrow-up
        10
        ·
        2 days ago

        On the one hand I agree with the sentiment, but how else is a web based update app for a usb device supposed to work?! We can make an argument for fwupd or a custom built app but the webapp is a smaller barrier for a lot of hardware companies.

        • grue@lemmy.world
          link
          fedilink
          English
          arrow-up
          29
          ·
          2 days ago

          how else is a web based update app for a usb device supposed to work?!

          It’s not! It’s a thing nobody in their right mind should want to do in the first place!

          That question is like asking “how else is a shotgun-based dental pick supposed to work?” The things just don’t go together and you shouldn’t try to force them to!

          Also, we already had an appropriate technology for this sort of thing (having a cheaply-made app that runs everywhere and doesn’t have to be pretty): it’s called “plain old fuckin’ Java.”