3

I noticed that when it comes to some websites (e.g. Twitter), the security certificate is changed when I log in and out of NordVPN - the SHA-1 digest is visibly different.

Keep in mind that not only I log out, but also deactivate nordvpnd with systemctl (on Fedora Linux) after doing so, otherwise the service would still be running in the background and potentially sniff on my network packets.

I then refresh the website and the certificate is different. It doesn't seem to happen with all websites, but that this is happening with even some of them is deeply alarming.

The browser (Brave) does not notify me, but this might have to do with my NordVPN service having access even to my private keys since it is installed on my machine. Which means that the service may choose to change them and making it seem like a legitimate request from my machine.

Could this be indicative of a MiTM attack, or just a misunderstanding on my part?

3
  • Is the vpn server located in the same region/country as you?
    – user284677
    Commented Nov 3, 2022 at 7:27
  • No, I used a server located overseas, but I think that the certificates are supposed to remain as they are.
    – lonew0lf
    Commented Nov 3, 2022 at 7:32
  • 3
    There is the possibility that sites use several servers located throughout the world in order to serve content to users from servers located close to them. As such, they may use different valid certificates for each one of them. If this is the case, when you login by using your vpn, the content seen may be served by a different server than when you access it without using your vpn - hence the different certificates. You may want to verify this hypothesis by inspecting the certificates
    – user284677
    Commented Nov 3, 2022 at 7:43

2 Answers 2

3

This is most likely not a man-in-the-middle attack.

Websites don't have to use the same certificate for all visitors. It may use different ones for a number of reasons. I guess that you are not located in the same place as your VPN exit node? Then, one explanation would be that your requests are reaching a different server closer to your VPN exit node when you are using the VPN, and that that different server is using a different certificate.

In other words: Just because the two certificates are different, doesn't mean that one of them must be false.

That said, what you are worried about is technically possible. If you have installed some software on your machine, that software could manipulate your trust store and make false certificates appear legitimate. It's just a very unlikely explanation of what you are seeing. I would not worry about it.

Still, if you want to double check that nothing fishy is going on, you could check if the certificate you receive, while using the VPN, is valid on a different machine that you have not installed any of the software in question on. Or, as suggested in comments, check which root CA signed it. But again, I wouldn't bother.

4
  • 3
    It would also be possible to check the certificate chain to see which root CA signed it. But I don't use Brave, so no idea how to do that.
    – Philipp
    Commented Nov 3, 2022 at 15:56
  • 2
    An especially diligent attacker might create fake certificates that look superficially similar to a real CA. (Like using the same name, but a different key.) Commented Nov 4, 2022 at 8:47
  • You can see here crt.sh/?Identity=twitter.com&exclude=expired&match== that twitter.com has many certificates which are valid at the same time.
    – ysdx
    Commented Mar 20, 2023 at 19:50
  • For example Amazon can produce 100 valid Amazon certificates. That doesn’t mean I can generate a fake one.
    – gnasher729
    Commented Mar 21, 2023 at 18:13
2

I came across the same issue yesterday on a computer I was supporting. Given that NordVPN is one of the biggest VPN providers I'd say this is probably not a MitM attack. That being said, there's a few things worth noting:

  • NordVPN DOES NOT need to do this in order to provide their services. They provide VPN services and the whole VPN tunnel is encrypted at the network and/or data link layer. SSL works at the transport level, so this is additional unnecessary encryption for a VPN provider
  • NordVPN, is acting as Root CA in this case and as such is capable of issuing CAs for any domain they need to serve. This could be exploited both by them to do a MitM, by a security enforcing office (NSA) with a legal mandate served to NordVPN, or even by a hacker that is able to get into NordVPN's supply chain.

As I said, all this is not needed for providing VPN services. There's unnecessary confidentiality/privacy risks here that defeat the whole purpose of a VPN IMHO. This makes me question the security of NordVPN's solution.

1
  • I don't know much about NordVPN but I really doubt they install themselves as systemwide CA which would be really suspicious on their part. For example, see this page support.nordvpn.com/Connectivity/Windows/1047410092/… : « our browser may try to save the file in its own certificate location or open it immediately. Make sure to download the file instead of just opening it. » which means « please don't install our certificate as CA in your browser »
    – ysdx
    Commented Mar 20, 2023 at 19:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .