• dgmib@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    So for this attack to work, the attacker needs to be able to run a malicious DHCP server on the target machine’s network.

    Meaning they need to have already compromised your local network either physically in person or by compromising a device on that network. If you’ve gotten that far you can already do a lot of damage without this attack.

    For the average person this is yet another non-issue. But if you regularly use a VPN over untrusted networks like a hotel or coffee shop wifi then, in theory, an attacker could get your traffic to route outside the VPN tunnel.

    • bdonvr@thelemmy.club
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Not quite, this could be exploited by telecom providers when using mobile data. Also using a VPN for networks you DON’T control is one of the more popular uses of the things

    • wreleven@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      This is the primary reason folks use VPNs - to protect themselves on public networks. I would say it’s definitely not a non-issue.

      • Encrypt-Keeper@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        The thing is that in most cases you don’t need a VPN to protect yourself on a public network. The ubiquity of TLS on the internet already does a great job of that. Using a VPN on a public network for privacy and security reasons amounts to little more than the obfuscation of which sites you’re visiting, and some fallback protection against improperly configured websites. So while I agree it isn’t entirely a non-issue, it definitely isn’t as big of an issue as one might assume given the scary wording of the headline and article.

    • GamingChairModel@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Put another way, this means that a malicious coffee shop or hotel can eavesdrop on all VPN traffic on their network. That’s a really big fucking deal.

      • dgmib@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        Not all VPN traffic. Only traffic that would be routable without a VPN.

        This works by tricking the computer into routing traffic to the attacker’s gateway instead of the VPN’s gateway. It doesn’t give the attacker access to the VPN gateway.

        So traffic intended for a private network that is only accessible via VPN (like if you were connecting to a corporate network for example) wouldn’t be compromised. You simply wouldn’t be able to connect through the attacker’s gateway to the private network, and there wouldn’t be traffic to intercept.

        This attack doesn’t break TLS encryption either. Anything you access over https (which is the vast majority of the internet these days) would still be just as encrypted as if you weren’t using a VPN.

        For most people, in most scenarios, this amount to a small invasion of privacy. Our hypothetical malicious coffee shop could tell the ip addresses of websites you’re visiting, but probably not what you’re doing on those websites, unless it was an insecure website to begin with. Which is the case with or with VPN.

        For some people or some situations that is a MASSIVE concern. People who use VPNs to hide what they’re doing from state level actors come to mind.

        But for the average person who’s just using a VPN because they’re privacy conscious, or because they’re location spoofing. This is not going to represent a significant risk.

        • GamingChairModel@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 months ago

          That’s a fair point, you’re right.

          I do still think that a lot of people do use VPNs in public spaces for privacy from an untrusted provider, though, perhaps more than your initial comment seemed to suggest.

        • Natanael@slrpnk.net
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 months ago

          Plaintext connections inside corporate networks can still be MITM’ed if the adversary knows what they’re targeting, while they can’t connect to the corporate network they can still steal credentials

          • dgmib@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            5 months ago

            You wouldn’t be able to MITM a plaintext connection inside a corporate network with this attack by itself. You could only MITM something that the attacker can access without your VPN.

            Any corporate network that has an unsecure, publicly accessible endpoint that prompts for credentials is begging to be hacked with or without this attack.

            Now you could spoof an login screen with this attack if you had detailed info on the corporate network you’re targeting. But it would need to be a login page that doesn’t use HTTPS (any corporations, dumb enough to do that this day and age are begging to be hacked), or you’d need the user to ignore the browser warning about it not being secure, which that is possible.

    • linearchaos@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      I think the real meat here would be the work from home crowd. If you can find a hole in there router, you can inject routing tables and defeat VPN.

      But the VPN client doesn’t have to be stupid. You could certainly detect rogue routes and shut down the network.

      • dgmib@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        As I mentioned in my other comment, this wouldn’t let an attacker eavesdrop on traffic on a VPN to a private corporate network by itself. It has to be traffic that is routable without the VPN.

        • linearchaos@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 months ago

          I don’t know, if you’ve already have full control over routing and have some form of local presence, seems to me you could do something interesting with a proxy, maybe even route the traffic back to the tunnel adapter.

          • dgmib@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            5 months ago

            I can’t see routing traffic to some kind of local presence and then routing back to the target machine to route out through the tunnel adapter without a successful compromise of at least one other vulnerability.

            That’s not to say there’s nothing you could do… I could see some kind of social engineering attack maybe… leaked traffic redirects to a local web server that presents a fake authentication screen that phishes credentials , or something like that. I could only see that working in a very targeted situation… would have to be something more than just a some rouge public wi-fi. They’d have to have some prior knowledge of the private network the target was connecting to.

            • linearchaos@lemmy.world
              link
              fedilink
              English
              arrow-up
              0
              ·
              5 months ago

              We’re already assuming you have something that can compromise DHCP. Once you make that assumption who’s to say you don’t have a VM hanging out.

  • TipRing@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    I use option 121 as part of my work, though I am not an expert on DHCP. This attack does make sense to me and it would be hard to work around given the legitimate uses for that option.

      • Max-P@lemmy.max-p.me
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        Adding routes for other thing on the network the clients can reach directly and remove some load from the router. For example, reaching another office location through a tunnel, you can add a route to 10.2.0.0/16 via 10.1.0.4 and the clients will direct the traffic directly at the appropriate gateway.

        Arguably one should design the network such that this is not necessary but it’s useful.

        • Nyfure@kbin.social
          link
          fedilink
          arrow-up
          0
          ·
          5 months ago

          To be fair, any proper VPN setup that only relies on the routing table like this is flawed to begin with.
          If the VPN program dies or the network interface disappears, the routes are removed aswell, allowing traffic to leave the machine without the VPN.
          So it is already a good practice to block traffic where it shouldnt go (or even better, only allowing it where it should).

  • Natanael@slrpnk.net
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    Pushing a route also means that the network traffic will be sent over the same interface as the DHCP server instead of the virtual network interface. This is intended functionality that isn’t clearly stated in the RFC. Therefore, for the routes we push, it is never encrypted by the VPN’s virtual interface but instead transmitted by the network interface that is talking to the DHCP server. As an attacker, we can select which IP addresses go over the tunnel and which addresses go over the network interface talking to our DHCP server.

    Ok, so double encrypted and authenticated traffic (TLS inside the VPN) would still be safe, and some stuff requiring an internal network origin via the VPN is safe (because the attacker can’t break into the VPN connection and your client won’t get the right response), but a ton of other traffic is exposed (especially unencrypted internal traffic on corporate networks, especially if it’s also reachable without a VPN or if anything sends credentials in plaintext)

  • MonkderDritte@feddit.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    5 months ago

    If i get this right, that attack only works before the tunnel is initiated (i.e. traffic encrypted), if the hosts is compromised, right? No danger from untrusted points inbetween, right?

    • DreamlandLividity@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      5 months ago

      No, it works at any point and the local network needs to be compromised (untrusted), the host can be secure.

      So it is likely not an issue at your home unless you have weak Wi-Fi password. But on any public/untrusted Wi-Fi, it is an issue.

        • DreamlandLividity@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          4 months ago

          That being said, it apparently does not affect Mullvad apps on any platform other than iOS (Apple does not allow fixing it on iOS). I suspect other serious VPNs are also not vulnerable outside iOS, since it is prevented by simple leak prevention mechanism.

    • NeatNit@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      This technique can also be used against an already established VPN connection once the VPN user’s host needs to renew a lease from our DHCP server. We can artificially create that scenario by setting a short lease time in the DHCP lease, so the user updates their routing table more frequently. In addition, the VPN control channel is still intact because it already uses the physical interface for its communication. In our testing, the VPN always continued to report as connected, and the kill switch was never engaged to drop our VPN connection.

      Sounds to me like it totally works even after the tunnel has started.

      • Natanael@slrpnk.net
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        Yeah, it’s like a fake traffic cop basically, sending your (network) traffic down the wrong route

        • KairuByte@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          0
          ·
          4 months ago

          More like a corrupt traffic cop. There are reasons you might want this kind of functionality, which is why it exists. Normally you can trust the cop (DHCP server) but in this case the cop has decided to send everyone from all streets down to the docks.

          • Natanael@slrpnk.net
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months ago

            These types of attacks would likely be implemented via DHCP spoofing / poisoning, unless you’re on a malicious network

  • BorgDrone@lemmy.one
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    (…) the entire purpose and selling point of VPNs, which is to encapsulate incoming and outgoing Internet traffic in an encrypted tunnel and to cloak the user’s IP address.

    No. That is not the entire point of a VPN. That’s just what a few shady companies are claiming to scam uninformed users into paying for a useless service. The entire point of a VPN is to join a private network (i.e. a network that is not part of the Internet) over the public internet, such as connecting to your company network from home. Hence the name ‘virtual private network’.

    There are very little, if any, benefits to using a VPN service to browse the public internet.

    • vext01@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Come to think of it, why do they even call this use case a VPN? I’d call that a proxy.

    • desktop_user@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      There are very little, if any, benefits to using a VPN service to browse the public internet.

      accessing services that are blocked in your region.

      • lurch (he/him)@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        that works, but a regular SOCKS proxy should do. for HTTP even a HTTP proxy. many VPN providers offer them too, btw… may help with mitigating this attack vector.

    • mako@lemmy.today
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      There are very little, if any, benefits to using a VPN service to browse the public internet.

      This is why it’s often best to just avoid the comments completely

    • Passerby6497@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      There are very little, if any, benefits to using a VPN service to browse the public internet.

      I’ve run into issues multiple times where a site doesn’t load until I turn on my VPN with an endpoint in the EU

  • Nyfure@kbin.social
    link
    fedilink
    arrow-up
    0
    ·
    5 months ago

    To be fair, any proper VPN setup that only relies on the routing table like this is flawed to begin with.
    If the VPN program dies or the network interface disappears, the routes are removed aswell, allowing traffic to leave the machine without the VPN.
    So it is already a good practice to block traffic where it shouldnt go (or even better, only allowing it where it should).

    Many VPN-Programs by Providers already have settings to enable this to prevent “leaking”.

  • adam_y@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    “There are no ways to prevent such attacks except when the user’s VPN runs on Linux or Android.”

    So there are ways.

    • /home/pineapplelover@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      5 months ago

      Wait so the vulnerability exists on macos and iphone even though those are based on bsd (right?)

      Edit: and also Windows, forgot about Windows

      • Natanael@slrpnk.net
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        Hilariously enough, Windows users can use WSL to run a Linux VPN (but only applications running in WSL are safe if I understand the attack right)

    • FridaG@reddthat.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      True, if you neg a linux dev online enough for two years, you can make your entire infrastructure vulnerable to attack

    • Railing5132@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Hate to rain on the Linux parade here, but didn’t the article say: “There are no ways to prevent such attacks except when the user’s VPN runs on Android.” and that Linux was just as vulnerable as Windows?

      • 0xD@infosec.pub
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        It’s not as vulnerable but it still is.

        Interestingly, Android is the only operating system that fully immunizes VPN apps from the attack because it doesn’t implement option 121. For all other OSes, there are no complete fixes. When apps run on Linux there’s a setting that minimizes the effects, but even then TunnelVision can be used to exploit a side channel that can be used to de-anonymize destination traffic and perform targeted denial-of-service attacks.

        • Macros@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 months ago

          But in the details this attack is not that bad. E.g. NordVPN and I guess also other VPNs use firewall rules to drop traffic on normal network interfaces.

          Their side channel is still routing traffic away from the VPN channel. Then they can observe that there is no traffic and guess that the user either didn’t make requests in that moment or that he wanted to visit a website in the range covered by the route. They can not spy on the traffic.

          Also you can not quickly move into a network and apply this attack, as DHCP leases usually last 1 day or at least 1 hour. Only when they expire you can apply the attack (or you force the user to drop from the network, which is easy if they are using WPA2, but only possible by blocking the wifi signal if they are using WPA3)

          It is a serious issue and should be mitigated, but not as huge as news articles make it.

          • xabadak@lemmings.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            4 months ago

            I saw that but unfortunately it doesn’t detail how to set it up persistently on every boot. And I also haven’t seen anybody using this method, probably because of the lack of tooling around it. For example afaik the official Mullvad client on linux just uses a firewall.

        • Railing5132@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 months ago

          I was going from this: (emphasis mine)

          Interestingly, Android is the only operating system that fully immunizes VPN apps from the attack because it doesn’t implement option 121. For all other OSes, there are no complete fixes. When apps run on Linux there’s a setting that minimizes the effects, but even then TunnelVision can be used to exploit a side channel that can be used to de-anonymize destination traffic and perform targeted denial-of-service attacks.

  • Optional@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    there are no ways to prevent such attacks except when the user’s VPN runs on Linux or Android.

    So . . . unix? Everything-but-Windows?

    • azuth@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      Maybe it affects BSD and MacOS.

      It also can affect some Linux systems based on configuration. Android doesn’t implement the exploited standard at all and is always immune.

    • abhibeckert@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      5 months ago

      Everything-but-Windows?

      No. Any device that implements a certain DHCP feature is vulnerable. Linux doesn’t support it, because most Linux systems don’t even use DHCP at all let alone this edge case feature. And Android doesn’t support it because it inherited the Linux network stack.

      • gsfraley@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        5 months ago

        most Linux systems don’t even use DHCP

        WTF are you smoking? WTF is wrong with you that you think such a dumb claim would go unscrutinized? I would play Russian roulette on the chances of a random Linux installation on a random network talking DHCP.

        Edit, in case being charitable helps: DNS and IP address allocation aren’t the only things that happen over DHCP. And even then the odds are overwhelming that those are being broadcast that way.

  • Max-P@lemmy.max-p.me
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    That’s why half decent VPN apps also add firewall rules to prevent leakage. Although nothing can beat Linux and shoving the real interface in a namespace so it’s plainly not available to anything except the VPN process.

    • r00ty@kbin.life
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      Yes, I don’t agree with the no way to mitigate statement.

      I suspect on windows the only real defence is something like.

      • Check if the network has suspicious multiple routes setup from the DHCP
      • If so, either use the IP/Mask/Gateway with manual IP config (to not receive the CIDR routes) or steer clear of an at best questionable network entirely.
      • Maybe use the windows firewall to block all traffic outbound EXCEPT from the firewall program (with perhaps exceptions for local networks as per below linux example). For whatever reason the windows firewall doesn’t seem to have a way to specify an interface. But you can specify a program.

      I did look for some way to control Window’s handling of DHCP options. But it seems there isn’t anything obvious to limit this otherwise. I do not know if the windows firewall has this kind of fine-grained control with its own fire

      For linux, I used to have my own blackout firewall rules. That only allowed the specific LAN range (for mobile use you could include all RFC1918 ranges) and the specific VPN IP out of the internet facing interface. Only the VPN interface could otherwise access the internet.

      • Max-P@lemmy.max-p.me
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        5 months ago

        Some providers have managed to make split tunnelling work fine so those I suspect are not affected because they override the routing at the driver level. It’s really only the kinda lame OpenVPN wrappers that would be affected. When you have the custom driver, you can affect the routing. It’s been a while since I’ve tested this stuff on Windows since obviously I haven’t been paid to do that for 6 years, but yeah I don’t even buy that all providers are affected and that it’s unfixable. We had workarounds for that when I joined PIA already so it’s probably been a known thing for at least a decade.

        The issues we had is sometimes you could get the client to forget to remove the firewall rules or to add back the routes and it would break people’s internet entirely. Not great but a good problem to have in context.

  • kinther@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    If your LAN is already compromised with a rogue DHCP server, you’ve got bigger problems than them intercepting just VPN traffic. They can man in the middle all of your non-encrypted traffic. While this is bad, it’s not a scenario most people will run into.

    • Rolling Resistance@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      I wonder if it applies to routers made by a company who likes collecting user data. Because this is a situation many people are in.

    • Doubletwist@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      The problem isn’t them being in you LAN. It’s about going to an untrusted network (eg Starbucks, hotel) and connecting to your VPN, boom, now your VPN connection is compromised.

      • kinther@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        I woke up this morning and thought of this exact scenario, then found your comment lol

        Yes, this is bad for anyone who travels for work and can’t trust the network they connect to.

    • sudneo@lemm.ee
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      The other comment already covers the fact that VPN should be useful exactly when you are connected to untrusted LANs. I want to add that also the main point of your comment is anyway imprecise. You don’t need a compromise DHCP, you just need another machine who spoofs being a DHCP. Not all networks have proper measures in place for these attacks, especially when we are talking wireless (for example, block client-to-client traffic completely). In other words, there is quite a middle-ground between a compromised router (which does DHCP in most cases) and just having a malicious device connected to the network.

  • Yardy Sardley@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    I think this is a good enough reason to actually put in some effort to phase out ipv4 and dhcp. There shouldn’t be a way for some random node on the network to tell my node what device to route traffic over. Stateless ipv6 for the win.

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

      Efforts have been put in for several decades now

      I still remember all the hype around “IPv6” day about 12 years ago…

      Any day now…

      • Scrollone@feddit.it
        link
        fedilink
        English
        arrow-up
        0
        ·
        5 months ago

        Honestly I’m on a IPv6 provider (with CGNAT for IPv4-only services) and everything works fine.

        I think people are just lazy.

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

          I don’t think it’s laziness, it’s financial incentive—there’s not much demand for something that might be quite a lot of work from a lot of companies’ perspectives.

          Hell, IIRC AWS only started supporting IPv6 completely on the cloud service that hosts a huge percentage of the internet’s traffic about 3 years ago

          I’m a little curious about your situation though—with regards to the CGNAT, does everyone on your ISP effectively share one (or a small pool of) IPv4 address(es)? Do you ever see issues with IP restrictions? (e.g. buying tickets for events, etc)

          • Scrollone@feddit.it
            link
            fedilink
            English
            arrow-up
            0
            ·
            edit-2
            5 months ago

            Luckily I haven’t noticed any restrictions.

            My provider uses the same IPv4 for four different customers, and it lets each one of them use a different range of 12000 ports each (of course, the random user on ports 1-12000 is the “luckiest” one because he could theoretically host a website on port 80 or 443).

            But this means I can expose my Torrent client or Plex or any other services on a custom port, directly forwarded.

            It works really well in my experience. The provider is Free (France).

            • ChuckEffingNorris@lemmy.ml
              link
              fedilink
              English
              arrow-up
              0
              ·
              5 months ago

              CGNAT is certainly becoming a real issue. In the UK at least legacy providers have millions of IP addresses in the bank and new disruptive providers do not have access to these except at extremely inflated rates.

              When I changed one of these new disruptive providers I was unaware that CGNat would be imposed and all of my security cameras were no longer accessible. Fortunately they did move me off CGNat when I asked but they said it may not be forever.

              Like always I don’t think this will be dealt with in any speedy capacity, unless we get lucky and some correctly positioned legislator can’t do what they want to do with their internet connection. Then it might get expedited.