Chromium based browsers leak user local IP via WebRTC foundation attribute(niespodd.github.io) |
Chromium based browsers leak user local IP via WebRTC foundation attribute(niespodd.github.io) |
The issue is about leaking the local IP in the foundation which is supposed to be some sort of opaque UUID - the local IP isn't supported to be in there at all, whether you want LAN connections or not.
Is this correct?
Foundation is specified in ICE RFC. Almost two decades before mDNS candidates were discussed! I doubt privacy of IPs was ever a consideration
[1] https://chrome.google.com/webstore/detail/webrtc-network-lim...
Not advised if you want to use WebTorrent, since it relies on WebRTC.
Setting it to "Default public interface only" still allows WebTorrent & WebRTC-reliant tools to be used, whilst still only broadcasting your public IP (which is already known anyway).
And FWIW, the local IP does not get leaked when using a VPN. (edit: Or rather, the VPN local IP gets leaked. Same question, no idea if that’s security relevant in some way?)
edit: Thanks everyone, I completely forgot about fingerprinting.
It's a privacy issue. You can use it to fingerprint a user, local IP will give you quite many bits of entropy. <https://coveryourtracks.eff.org/>
Honestly I'm not even sure if I'm surprised, but it's 2022 and we've been having this problem basically since the day WebRTC was introduced. At this point, if you care about privacy, you should probably put it in the same bag as third-party cookies and just block it entirely.
It's a privacy/functionality tradeoff. But most people consider not being able to videocall or do online gaming with someone in the same building to not be acceptable.
I think an opt-in permission seems like the way to go, like the one we already have for microphone/camera permissions, and possibly just merged with these (i.e. grant WebRTC permissions together with A/V permissions).
There are quite a few interesting non-A/V WebRTC applications around – these could be handled via an explicit prompt, similarly to how newer iOS versions handle local network permissions.
I don't buy it: You have to block IPv6 as well, and that's becoming harder to do.
If the user is trying to protect their "privacy" from their ISP by using a VPN (for example), and are attempting to prevent the application-level leak of providing a list of all the local interfaces, they really need to configure their system to restrict e.g. their web browsers and other sensitive tools to those specific interfaces, e.g.
https://askubuntu.com/questions/1313755/forcing-chrome-brows...
This should be easier, like maybe a button in the VPN software.
That said, they don't say anything about security, I obviously forgot about fingerprinting, but still don’t see security issues?
[0] https://www.whonix.org/wiki/Data_Collection_Techniques#Finge...
I think some browser changes might have hobbled it a bit, but it was startling when I first tried it.
At some point it feels like trying to drain the ocean with a cup. Maybe we just need to accept that anyone who really wants to fingerprint you _can_ fingerprint you unless you use a specialist browser.
At that point the solution is fairly obvious, make it legally difficult to use unique fingerprinting and move on (ie stuff like gdpr). People will still do it, but they'll have to balance it with not falling foul of the law and wont be able to abuse it too much.
We wont stop real world facial recognition by all trying to make our faces more similar either, we have to accept it's generally possible to do, but discourage the actual doing of it rather than trying to make it impossible.
(note in both cases, actually preventing it when you have a reason to is totally possible and valid, via specialist browser modes and physical masks respectively)
I use two browsers. One with WebRTC disabled (Firefox) and one with WebRTC enabled (Safari/Chromium). The former also runs a myriad of other addons which increase privacy. The latter I use to connect to PiKVM.
It made it easy to help someone find their local ip address, without having to click around in settings or the command line:
https://www.whatismybrowser.com/detect/what-is-my-local-ip-a...
But I understand the fingerprinting/privacy concerns, so it's for the best that it's not available.
Unfortunately, the more custom your browser behavior gets, the more finger-print-able you are :/
And that's not even considering potentially harmful plugins (either inherently so, or via browser store account takeovers).
https://webrtcforthecurious.com/
WebRTC is designed to be secure, so a privacy leak is not good.
Maybe it would have made more sense to make peer-to-peer opt-in explicit?
The concern was dialog fatigue. If a web site prompts permission to ‘gather local candidates’ most users are just going to hit OK. So this wouldn’t stop abusive uses of WebRTC as hoped.
The security impact, as others are pointing out, is pretty minimal. Knowing a local IP address behind a NAT isn't "not" a privacy issue (e.g. I can see things like gaming anti-abuse using tricks like this to discriminate users who need to be blocked vs. normal players), but it's not much of one.
Why did they take about:config from us?
You can check here: https://coveryourtracks.eff.org
So in this case it means you're not vulnerable.
Having WebRTC enabled can be dangerous for other reasons. You could be seeding a torrent unknowingly just by visiting a website. This can turn into a freaking disaster if you live in country like Germany.
It's a shame that browsers don't ask you for WebRTC like they do with webcams.
What do you mean? I'm running the latest firefox nightly from the play store and I can see the about:config...
They took it away in Stable because changing some settings may disconnect GeckoView from the application containing it and they can't have that.
I run Beta for this reason. Nightly is too unstable for me so I had to give up custom addon lists to bypass Mozilla's outdated whitelist (they were only available in nightly for a while, I believe that's in Beta now).
Mozilla doesn't trust you to use their precious software right and they'll take away your toys if it considers you to be playing with them wrong. I still like Mozilla over Google, Microsoft, and Apple, but it's really hard to be a fan of Firefox when they pull shit like this.
While this generation is done only for IPv4 space someone with sufficient time, resources, and inclination (say a large Ad conglomerate) could similarly start generating these for IPv6 address spaces.
Looks like they ran out of space on their build machine.
Anyone know an easy fix for this?
There is also WebGL whose main purpose is to provide user's videocard model to advertising companies and governemnt institutions.
Only to a webserver and thanks to CORS not to any webserver. There is no benefit for a website doing that - unlike with sharing a torrent to other internet users.
The problem with torrents is that they are actively watched by "Abmahnanwälte" (lawyers who make a living by suing copyright offenders).
> And it's going to be hard to hold you liable for data uploads that someone else initiated and you didn't know about
yeah good luck with that. All they see is your IP and then you can try to explain how this happened and how you are totally innocent.
I’m agreeing with you, though I wonder, is there any way to not be unique? What would you have to do? Use Windows with no extra fonts, Chrome in English, on a FullHD monitor with webgl/canvas/audio fingerprinting protection extensions?
But it’s academic for me anyway, I have Accept-Language en-US,en;q=0.7,de-DE;q=0.3 which is close enough to unique that nothing else really matters.
https://coveryourtracks.eff.org/
Like siblings are saying, they use all available information to fingerprint you.
You can cover your identity only to the extent that you can display the same characteristics to the web server as the largest group of users that have all the same characteristics. This includes whether you have JS disabled as well as your IP address, User-Agent, display resolution, etc.
The normalization of mask wearing in public was a great step towards this. I really wish it had gone better. Alas!
This shows how browser developers race to push new features without proper estimation of privacy concerns.
Luckily this was somewhat fixed by using randomized Apple mDNS names instead of IPs. But as a result the browser has to support Apple DNS protocol which can potentially increase attack surface.
I would prefer to disable this feature completely by default and let the minority who needs it enable it via settings.
The "Apple" DNS protocol is standard DNS, over a multicast IP address, on port 5353. You can literally use plain old dig to perform mDNS lookups:
$ dig @224.0.0.251 -p 5353 +short hello.local
192.168.123.45
If DNS lookups considerably increase your attack surface, something is very, very wrong with your architecture.The DNS names WebRTC generates for this purpose are random, and known only to the signaling participants.
* Controlling Robots (formant.io)
* Security Cameras
* File Sharing
* Game Streaming/VNC
I keep a list of interesting open source WebRTC projects at https://github.com/pion/awesome-pion
Zoom/Teams with people in the same office? That seems like a rather large user base
Almost all of the “sales/demo/cross company” video calls I’ve been on have been in this bucket
My understanding is Zoom only supports P2P for two person calls.
I can't quite tell from this answer if it is the default or not, but it sounds like it has to be manually enabled:
> Account owners and admins can enable one-on-one meetings to have data routed between two participants (peer-to-peer), rather than going through the cloud or server. Enabling this may improve the quality and connection of one-on-one meetings (depending on how your network prioritizes traffic) by directly sending video and audio between both parties.
https://support.zoom.us/hc/en-us/articles/360061410851-Enabl...
Settling on a different trade-off then you would like is not the same thing as doing it without consideration.
TBB actually adds a border at the bottom of the browser so the reported size isn't the actual size. If you change the size of your browser window to the tor-reported size then it should work.
Unless I'm misunderstanding and you mean something to do with the scrollbar?