This is interesting and seems to indicate that there is a small edge case for people who want as much privacy as possible. The larger topic for me is that webRTC has to make tradeoff for developers. And, I for one, love what it does. If you look at legacy comms development in the peer to peer space (e.g. Skype) the process was orders of magnitude more difficult than using a webRTC implementation. So, as a developer,…
Excuse Me Sir, Your WebRTC Is Leaking
11–20 of 39 posts
Re: Excuse Me Sir, Your WebRTC Is Leaking
#12Interesting, maybe browsers should add a permission prompt like they do for web camera access before allowing a webrtc stun request?
i was under the impression it already does.
Re: Excuse Me Sir, Your WebRTC Is Leaking
#13Vulnerability doesn't seem like the correct word to describe this issue. It's more of an exposure of potentially sensitive information (your local IP address if you're using a VPN) as a result of WebRTC's protocol design.
I agree. For the vast majority of use cases, this doesn't seem to be an exceptionally big issue. Almost all major websites collect IP addresses and don't explicitly prompt the user that this is happening. It seems the OP is really highlighting the edge case for users who want quasi-absolute security.
Re: Excuse Me Sir, Your WebRTC Is Leaking
#14I made a LAN scanner based on this in JS: http://algorithm.dk/lanscan
Re: Excuse Me Sir, Your WebRTC Is Leaking
#15That said, long-term, I think networks need to stop treating non-routability alone as a firewall mechanism. Any information that this WebRTC mechanism reveals could also be exploited by any random client application, or in the case of http-based protocols, by anyone who can embed an iframe or submit a form. Consider how you'd design a network in which every device had a routable IP address, and go ahead and design it that way anyway as a defense-in-depth measure. Use encrypted and authenticated protocols even on your "private" network.
Re: Excuse Me Sir, Your WebRTC Is Leaking
#16My test: https://diafygi.github.io/webrtc-ips/
The main two issues are that a data connection doesn't require user consent (unlike video/audio) and the browser checks all network interfaces as connection candidates (so VPN users on Windows and Mac expose their real IPs). As I proposed in the bug, if we fix those two things, we would be a lot better off.
Re: Excuse Me Sir, Your WebRTC Is Leaking
#17I made a LAN scanner based on this in JS: http://algorithm.dk/lanscan
Re: Excuse Me Sir, Your WebRTC Is Leaking
#18Relevant Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=959893 My test: https://diafygi.github.io/webrtc-ips/ The main two issues are that a data connection doesn't require user consent (unlike video/audio) and the browser checks all network interfaces as connection candidates (so VPN users on Windows and Mac expose their real IPs). As I proposed in the bug, if we fix those two things, we would be a lot be…
These requests do not show up in developer consoles and
cannot be blocked by browser plugins
I'm using FF with a WebRTC-blocking plugin, and it does successfully block the proof-of-concept exploit (it's called "Happy Bonobo Disable WebRTC", an admittedly shady name, but there are surely others).Re: Excuse Me Sir, Your WebRTC Is Leaking
#19Relevant Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=959893 My test: https://diafygi.github.io/webrtc-ips/ The main two issues are that a data connection doesn't require user consent (unlike video/audio) and the browser checks all network interfaces as connection candidates (so VPN users on Windows and Mac expose their real IPs). As I proposed in the bug, if we fix those two things, we would be a lot be…
A quick heads-up: These requests do not show up in developer consoles and cannot be blocked by browser plugins I'm using FF with a WebRTC-blocking plugin, and it does successfully block the proof-of-concept exploit (it's called "Happy Bonobo Disable WebRTC", an admittedly shady name, but there are surely others).
Unfortunately, Chrome doesn't let you disable WebRTC at all unless you recompile with "-Denable_webrtc=0", and Chrome blocking plugins are easily bypassed (see some pull requests in my repo).