安全研究人员发现,攻击者可以绕过CoTURN服务器的默认访问控制规则,访问防火墙后面的网络服务。
一位研究人员推测,在某些情况下,攻击者可以实现远程执行代码(尽管他强调,该漏洞本身并不是远程执行代码漏洞)。
总部位于柏林的Enable Security公司敦促使用该开源服务器的的组织应用他们的配置建议以及最新的软件更新。
该项目的维护人员Mihály Mészáros表示,全球几乎所有的WebRTC和VoIP系统都使用CoTURN,因为它速度快,效率高,而且是功能最全的STUN/TURN实现AFAIK。
与代理服务器类似,TURN(使用围绕NAT的中继进行遍历)服务器允许将TCP连接和UDP数据包中继到其他对等方。
由于担心攻击者滥用TURN服务器连接到本地服务,2018年,CoTURN维护人员默认阻止到IPv4上的环回IP地址127.0.0.1和IPv6上的[::1]的连接。
然而,Enable Security公司近日在一篇博客文章中表示,安全研究人员发现在Linux系统上(其他操作系统也有可能)通过指定0.0.0.0作为IP,代替127.0.0.1,可以实现同样的效果后,绕过了IPv4访问控制规则。
IPv6访问控制规则也存在漏洞。该公司在该文章中写道,“奇怪的是,我们仍然可以指定[::1]作为对等地址并连接到本地服务,而没有得到常规的403,禁止的IP响应,也没有防御[::]的代码”。
Enable Security公司的CEO兼创始人Sandro Gauci表示,成功的攻击者可能造成的破坏“很大程度上取决于环回接口上的内容”。
“最坏的情况是网络服务不需要身份验证(因为环回接口通常被认为是可信网络),并且允许远程代码执行。”
他补充说:“如果你有这些工具,利用这个漏洞一点也不困难。”
“幸运的是,当研究人员探测适用的漏洞赏金项目时,只有一个环境允许连接到localhost并且只在UDP上。”
研究人员认为,这表明,许多组织已经实施了Enable Security在2020年6月的研究中提出的建议,该研究记录了数个基于WebRTC的服务提供商的产品中存在该漏洞。他们在2020年4月还披露了Slack的TURN服务器中存在的一个配置漏洞。
11月20日,CoTURN维护人员接到了访问控制规则被绕过的警报。该漏洞(CVE-2020-26262)影响了CoTURN 4.5.1.3版本,并在2021年1月11日发布的4.5.2版本中得到了修复。
应CoTURN维护人员Mészáros的请求,Enable Security提供了补丁,该补丁默认阻止了0.0.0.0/8并正确解析了IPv6环回地址[::1]。
除了应用更新之外,研究人员还建议使用“denied-peer-ip来阻止特殊意图的地址”,甚至将TURN服务器部署在对内部系统没有特殊访问权限的、隔离的环境中。
同时,研究人员建议无法立即应用最新版本的组织“使用IPv4地址的值设置-L flag或listening-ip配置”(尽管这也会阻止IPv6流量的中继)。
作者:Adam Bannister
来源:Port Swigger