安全研究人員發現,NordVPN和ProtonVPN客戶端在Windows機器上運行具有管理員權限的任意代碼。兩個客戶端都使用OpenVPN開源軟件從一個點到另一個點建立安全隧道。該服務需要以管理員權限運行,因此它運行的任何代碼都享有這些權限。
漏洞產生原因
Cisco Talos發現OpenVPN的配置文件可以更改為包含任意代碼然后可以傳遞給服務并在Windows下使用系統權限執行。
該錯誤類似于?VerSprite安全咨詢公司的Fabius Watson在4月份披露的一個錯誤,他表示OpenVPN服務將接受并運行包含“插件”或“腳本安全”等參數的配置文件。
NordVPN和ProtonVPN都通過檢查是否存在兩個危險參數以及“up”和“down”來解決這個問題,這些參數都是通過OpenVPN執行代碼或命令的方法。
通過查看配置文件解析器的OpenVPN源代碼,Rascagnares注意到這些控件不足,并且可以通過將參數放在引號之間來實現相同的效果。研究人員通過在配置文件中添加以下文本來顯示
“script-security” 2
“up” C:\\WINDOWS\\system32\\notepad.exe
廠商已對漏洞發布更新版本
ProtonVPN和NordVPN在Windows上推出了Notepad應用程序。
這兩個安全漏洞目前被跟蹤為ProtonVPN的CVE-2018-3952和NordVPN的CVE-2018-4010,嚴重等級為8.8,最高為10。
研究人員在7月5日向兩家VPN供應商披露了這些故障,NordVPN于8月8日發布了補丁,而ProtonVPN在9月3日發布了修補程序。
這一次,兩家供應商選擇了不同的糾正方法:
“對于ProtonVPN,他們將OpenVPN配置文件放在安裝目錄中,標準用戶無法對其進行修改。因此,我們無法在其中添加惡意字符串。對于NordVPN,編輯決定使用XML模型生成OpenVPN配置文件。標準用戶無法編輯模板“
受影響版本
受權限升級錯誤影響的客戶端版本是ProtonVPN 1.5.1和NordVPN 6.14.28.0。
NordVPN用戶會自動更新到應用程序的最新版本,而使用PrototonVPN的用戶需要手動啟動該過程。