Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Endpoint Security //

VPN

9/12/2018
09:35 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

NordVPN & ProtonVPN Offerings Vulnerable to Code Execution Attack

A report from Cisco Talos found that VPNs developed by NordVPN and ProtonVPN were each vulnerable to the same code execution attack.

You know NordVPN. The company has an aggressive TV campaign touting its Virtual Private Network software. The ads promise that this VPN will protect users from all sorts of threats via its "military-grade" encryption.

There's a problem though.

Both NordVPN and ProtonVPN each have these -- let's call them "flaws" for argument's sake -- that Fabius Watson of VerSprite Security disclosed in March, which could allow an attacker to execute arbitrary code with elevated privileges. It's a little something that would torpedo the reason you used a VPN in the first place.

Both vendors rushed out patches at that time, hoping the public wouldn't notice.

But that wasn't the end of it -- oh, no.

(Source: Flickr)
(Source: Flickr)

Cisco Talos has discovered two similar vulnerabilities in the ProtonVPN and NordVPN VPN clients. The brand spanking new vulnerabilities allow attackers to execute code as an administrator on Microsoft Windows operating systems when starting from a standard user. The vulnerabilities were assigned CVE-2018-3952 (NordVPN) and CVE-2018-4010 (ProtonVPN).

Ooops.

Cisco basically identified a way to bypass the original patch. So, despite the original fix, it is still possible for a normal user to execute code as an administrator on a Windows system.

Let's see what's going on here.

Proton and NordVPNs use OpenVPN code as the core of their offerings.

In its research note from March, VerSprite detailed that if a DLL is sent as a plugin to the configuration file for an OpenVPN system, OpenVPN_POC.dll will be loaded and executed by OpenVPN with administrator privileges.

It seems that if the configuration contains a line starting by "plugin," "script-security," "up" or "down," then that line can execute code or commands through OpenVPN.

In response, Nord and Proton implemented a control of the content of the OpenVPN configuration sent by the user. Both had the same patch applied. The patch made sure that the configuration file did not contain those nasty keywords.

However, Talos realized that an attacker could get around this by going a bit deeper in the OpenVPN code.

Talos researchers figured out that by reading the OpenVPN source code of the configuration file parser, an attacker can add in a parse_line() function so that a keyword can be inserted between quotation marks. This allows the attacker add their own code or library in and then execute it. It's valid for OpenVPN, and it passes the checks of the VPN services.

Boom -- the VPNs are hosed again. The versions found to be vulnerable were ProtonVPN VPN Client 1.5.1 and NordVPN 6.14.28.0.

This time, each of the products took a different path to patch the problems.

For ProtonVPN, the company put the OpenVPN configuration file in the installation directory, which means that a standard user cannot modify it.

For NordVPN, the editor decided to use an XML model to generate an OpenVPN configuration file. A standard user cannot edit the template.

For the second time this year, both VPN products have shown how vulnerabilities affecting their base code can be exploited to cause a critical loss of capability. It seems that just putting a nice veneer on top of open source functionality may not be a great way to develop a commercial product.

Related posts:

— 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.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Edge-DRsplash-10-edge-articles
I Smell a RAT! New Cybersecurity Threats for the Crypto Industry
David Trepp, Partner, IT Assurance with accounting and advisory firm BPM LLP,  7/9/2021
News
Attacks on Kaseya Servers Led to Ransomware in Less Than 2 Hours
Robert Lemos, Contributing Writer,  7/7/2021
Commentary
It's in the Game (but It Shouldn't Be)
Tal Memran, Cybersecurity Expert, CYE,  7/9/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-26564
PUBLISHED: 2021-07-31
ObjectPlanet Opinio before 7.15 allows XXE attacks via three steps: modify a .css file to have <!ENTITY content, create a .xml file for a generic survey template (containing a link to this .css file), and import this .xml file at the survey/admin/folderSurvey.do?action=viewImportSurvey['importFil...
CVE-2020-26565
PUBLISHED: 2021-07-31
ObjectPlanet Opinio before 7.14 allows Expression Language Injection via the admin/permissionList.do from parameter. This can be used to retrieve possibly sensitive serverInfo data.
CVE-2020-26806
PUBLISHED: 2021-07-31
admin/file.do in ObjectPlanet Opinio before 7.15 allows Unrestricted File Upload of executable JSP files, resulting in remote code execution, because filePath can have directory traversal and fileContent can be valid JSP code.
CVE-2021-33617
PUBLISHED: 2021-07-31
Zoho ManageEngine Password Manager Pro before 11.2 11200 allows login/AjaxResponse.jsp?RequestType=GetUserDomainName&userName= username enumeration, because the response (to a failed login request) is null only when the username is invalid.
CVE-2021-27491
PUBLISHED: 2021-07-30
Ypsomed mylife Cloud, mylife Mobile Application:Ypsomed mylife Cloud,All versions prior to 1.7.2,Ypsomed mylife App,All versions prior to 1.7.5,The Ypsomed mylife Cloud discloses password hashes during the registration process.