CVE-2019-12578
https://notcve.org/view.php?id=CVE-2019-12578
A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client v82 for Linux could allow an authenticated, local attacker to run arbitrary code with elevated privileges. The openvpn_launcher.64 binary is setuid root. This binary executes /opt/pia/openvpn-64/openvpn, passing the parameters provided from the command line. Care was taken to programmatically disable potentially dangerous openvpn parameters; however, the --route-pre-down parameter can be used. This parameter accepts an arbitrary path to a script/program to be executed when OpenVPN exits. • https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12578.txt • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') •
CVE-2019-12576
https://notcve.org/view.php?id=CVE-2019-12576
A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client v82 for macOS could allow an authenticated, local attacker to run arbitrary code with elevated privileges. The openvpn_launcher binary is setuid root. This program is called during the connection process and executes several operating system utilities to configure the system. The networksetup utility is called using relative paths. A local unprivileged user can execute arbitrary commands as root by creating a networksetup trojan which will be executed during the connection process. • https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12576.txt • CWE-426: Untrusted Search Path •
CVE-2019-12573
https://notcve.org/view.php?id=CVE-2019-12573
A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client v82 for Linux and macOS could allow an authenticated, local attacker to overwrite arbitrary files. The openvpn_launcher binary is setuid root. This binary supports the --log option, which accepts a path as an argument. This parameter is not sanitized, which allows a local unprivileged user to overwrite arbitrary files owned by any user on the system, including root. This creates a denial of service condition and possible data loss if leveraged by a malicious local user. • https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12573.txt • CWE-59: Improper Link Resolution Before File Access ('Link Following') •
CVE-2019-12577
https://notcve.org/view.php?id=CVE-2019-12577
A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client v82 for macOS could allow an authenticated, local attacker to run arbitrary code with elevated privileges. The macOS binary openvpn_launcher.64 is setuid root. This binary creates /tmp/pia_upscript.sh when executed. Because the file creation mask (umask) is not reset, the umask value is inherited from the calling process. This value can be manipulated to cause the privileged binary to create files with world writable permissions. • https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12577.txt • CWE-732: Incorrect Permission Assignment for Critical Resource •
CVE-2019-12579
https://notcve.org/view.php?id=CVE-2019-12579
A vulnerability in the London Trust Media Private Internet Access (PIA) VPN Client v82 for Linux and macOS could allow an authenticated, local attacker to run arbitrary code with elevated privileges. The PIA Linux/macOS binary openvpn_launcher.64 binary is setuid root. This binary accepts several parameters to update the system configuration. These parameters are passed to operating system commands using a "here" document. The parameters are not sanitized, which allow for arbitrary commands to be injected using shell metacharacters. • https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12579.txt • CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') •