PrivateVPN for MacOS

Root Privilege Escalation Vulnerability | Arbitrary File Write

Vendor

PrivateVPN

Product

PrivateVPN

Product Version

PrivateVPN for MacOS < 2.0.31|PrivateVPN for MacOS < 2.0.31

Vulnerability Details

PrivateVPN for MacOS suffers from a root privilege escalation vulnerability. The software installs a privileged helper tool that runs as the root user. This privileged helper tool is installed as a LaunchDaemon and implements an XPC service. The XPC service is responsible for handling new VPN connection operations via the main PrivateVPN application. The privileged helper tool creates new VPN connections by executing the openvpn binary located in the /Applications/PrivateVPN.app/Contents/Resources directory. The openvpn binary can be overwritten by the default user, which allows an attacker that has already installed malicious software as the default user to replace the binary. When a new VPN connection is established, the privileged helper tool will launch this malicious binary, thus allowing an attacker to execute code as the root user.

Vendor Response

PrivateVPN stated the vulnerability is an acceptable part of their software.

Disclosure Timeline

  • Vendor contacted via Twitter

  • Vendor contacted via Facebook

  • Vendor contacted via email

  • Vendor response and disclosure

  • Vendor response: "Without helper, we cannot run openvpn. This is what all vpn apps are doing."

  • Vendor notified of advisory release

  • Vendor response disputting advisory release

  • VerSprite responsed to vendor with instructions for resolving vulnerabilies in vendor software.

  • Vendor released update

  • Vendor response and follow up

  • Vendor submitted update