Aviatrix, an enterprise VPN company with customers that include NASA, Shell and BT, has recently dealt with a vulnerability that was uncovered by Immersive Labs researcher and content engineer Alex Seymour. The descriptive blog was released on December 5, 2019 and outlines the specifics of the problem.
Seymour says in it that, "The vulnerability would have allowed an attacker who already had access to a machine to escalate privileges and achieve anything they wanted; for example, gaining access to files, folders and network services that the user would not previously have been able to access."
Multiple local privilege escalation vulnerabilities were discovered in the Aviatrix VPN client. On each operating system there are two main parts to the VPN client. This first is a service enabled by default post-installation, as well as the user-client application that interfaces between the user and the services.
One vulnerability is "Privilege Escalation Through Weak File Permissions" (CVE-2019-17388). Seymour found that during the VPN's installation process on Windows, Linux and FreeBSD, the permission set applied to the client's installation directory was highly permissive. The Linux, macOS and FreeBSD versions of the VPN client use the openvpn command's --up and --down flags to execute shell scripts when a VPN connection is established and terminated respectively.
Now, because of the weak file permissions that are set on the installation directory on Linux and FreeBSD, it is possible to modify these scripts. As the backend service executes the openvpn command, this can result in the script being executed with elevated privileges.
This reveal comes two months after the National Security Agency (NSA) and National Security Council (NSC) warned of state-sponsored attackers that were targeting vulnerabilities in VPNs.
Seymour noted that, "Coming hot on the heels of the UK and US Government warnings about VPN vulnerabilities, this underlines that often the technology protecting enterprises needs to be managed as tightly as the people using it. People tend to think of their VPN as one of the more secure elements of their security posture, so it should be a bit of a wakeup call for the industry."
Seymour also found a "Privilege Escalation via Service Code Execution" (CVE-2019-17387) vulnerability. The service uses certificate authentication to validate that requests stem from a valid source, which is hoped to prevent anyone except the client application from making requests to the service. But when the application is running, the needed certificates for code execution of a file can be recovered from the operating system's temporary directory; the filename is prefixed with mvLOKecsEpki. It is possible to craft requests to the service and gain code execution by passing commands wrapped in subshells in args instead of the expected file paths.
A patch for the VPN has been released (v2.4.10) and can be found at https://docs.aviatrix.com/Downloads/samlclient.html#aviatrix-vpn-client.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.