返回

OpenVPN中发现的关键RCE漏洞逃脱了最近的两次安全审计

发布时间:2022-08-25 09:34:19 1517
openvpn-security-flaw


OpenVPN是最流行和最广泛使用的开源VPN软件解决方案之一,主要用于各种连接需求,但对于匿名和私人访问互联网尤其流行。

今年,对OpenVPN进行了两次独立的安全审计,以查找开源软件中的漏洞、后门和其他缺陷–;其中一项研究由约翰·霍普金斯大学加密伯芬博士马修·D·格林领导的团队进行。
 

审计结果在广泛使用的开源软件中发现了一些漏洞,这给了OpenVPN一个干净的借口。

研究人员使用Fuzzer在OpenVPN中查找漏洞


荷兰研究人员Guido Vranken专门使用了fuzzer,最近在OpenVPN中发现了四个安全漏洞,这两个漏洞都没有通过安全审计。

研究人员发现的四个缺陷中有三个是服务器端缺陷,其中两个导致服务器崩溃,而其余的是客户端缺陷,攻击者可以通过窃取密码来访问代理。

所有漏洞中最关键的是CVE-2017-7521,它影响OpenVPN服务器端,并驻留在extract_x509_extension()函数中,该函数处理SSL证书。

该漏洞可能使经过身份验证的远程攻击者能够创建并发送一个证书,该证书会导致OpenVPN服务崩溃或触发双重释放,从而可能导致服务器内的远程代码执行。

Vranken无法演示RCE错误,但认为远程代码执行在理论上是可以实现的。在周三发布的一份报告中,他解释了由于服务未能检查特定的返回值而导致远程内存泄漏的原因。
Vranken在报告中说:“如果你查看OpenSSL源代码,ASN1_STRING_to_UTF8可能会失败的一种方式是它无法分配足够的内存。”。“因此,如果服务器内存不足,攻击者可以触发双重释放,再加上攻击者可以任意耗尽服务器内存的事实,使得远程双重释放似乎可以实现。”
“但是,如果双自由度不足以实现远程代码执行,那么可能还有其他函数可以利用,它们在内存胁迫下的行为大不相同。”
第二个漏洞,CVE-2017-7520,以OpenVPN连接到Windows NTLM版本2代理的方式存在。
 

OpenVPN客户端和代理服务器之间的中间人攻击者可以远程使客户端崩溃,或者从内存泄漏中窃取用户的代理密码。

只有在某些情况下才会触发该漏洞,例如客户端通过NTLM版本2身份验证连接到代理时,或者客户端指定以反斜杠结尾的用户名时。
“如果客户端使用带有NTLM身份验证的HTTP代理(--HTTP代理 [|‘auto’|‘auto-nct’]ntlm2),介于客户端和代理之间的中间人[MITM]攻击者可导致客户端崩溃或泄露最多96字节的堆栈内存,”OpenVPN团队解释道。
“公开的堆栈内存可能包含代理密码。如果不重用代理密码,这不太可能危及OpenVPN隧道本身的安全性。不使用--http proxy选项进行ntlm2身份验证的客户端不受影响。”
其他两个漏洞(CVE-2017-7508和CVE-2017-7522)远程服务器崩溃可能是通过发送恶意构建的IPv6数据包或恶意数据进行身份验证后触发的。

服务器和客户端的补丁已经可用


Vranken负责地向OpenVPN团队披露了他在5月和6月发现的所有漏洞,该团队已经在其最新版本的VPN软件中修补了这些问题。

虽然没有证据表明任何漏洞已被公开利用,但强烈建议用户尽快将其安装更新到OpenVPN版本2.4.3或2.3.17,以确保安全。

有关所有漏洞的更深入的技术细节,您可以访问题为,“OpenVPN审计后漏洞泛滥,”周三由Vranken出版。

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线