“用指尖改变世界”
vBulletin是一款基于PHP编程语言和MySQL数据库服务器且被广泛采用的网络论坛软件包,它为互联网上超过10万个网站提供支持,其中包括《财富》世界500强和Alexa排名前100万的企业网站和论坛。
近日,意大利安全公司TRUEL IT的一名安全研究人员和一名不愿透露姓名的独立安全研究人员发现,vBulletin存在两个未修复的零日漏洞,其中一个漏洞可导致远程攻击者在最新版 vBulletin应用服务器中执行恶意代码。
两位研究人员通过Beyond Security 公司的SecuriTeam安全披露项目披露了这些漏洞的详情。漏洞影响了vBulletin 5(vBulletin的版本5),且并未被修复。
除了发布安全性声明外,Beyond Security公司从2017年11月21日起就试图联系vBulletin官方,但一直没有收到该公司的任何回复。这也是为什么此次会公开披露这两个漏洞的最主要原因之一。
远程任意代码执行漏洞
第一个漏洞,也就是前面提到的远程任意代码执行漏洞。它属于一个文件包含问题,可导致远程代码执行,允许远程攻击者包含来自vBulletin服务器的任何文件并且执行任意PHP代码。
未经身份验证的攻击者可以通过向index.php发出包含“routestring=”参数的GET请求来触发这个漏洞。该请求允许攻击者向安装在Windows操作系统上的vBulletin服务器创建一个精心制作的请求,并在Web服务器上包含任何文件。
研究人员还提供了概念验证(PoC)漏洞利用代码来展示漏洞的利用情况,该漏洞到目前还没有获得获得CVE编号。
远程任意文件删除漏洞
第二个漏洞编号为CVE-2017-17672,并被描述为一个反序列化问题。未经身份验证的攻击者可以利用该漏洞删除任意文件,甚至在某些情况下执行恶意代码。
这个漏洞来源于用户提供的输入中PHP的unserialize()的不安全使用,这允许未经身份验证的攻击者能够删除任意文件,并可能在vBulletin安装上执行任意代码。
研究人员解释说,vB_Library_Template是一个公开的API,它的cacheTemplates()函数允许从数据库获取一组给定模板的信息,以便将它们存储在缓存变量中。
$ temnplateidlist变量可以来自于用户输入,直接提供给unserialize(),进而产生了一个任意的反序列化原语。
并非vBulletin首次曝零日漏洞
早在2015年11月就有媒体报道,在一起攻击事件中,攻击者用零日漏洞攻击了vBulletin的官网,攻击导致40万名vBulletin用户帐号、密码及其他敏感数据泄露。
与此同时,攻击者还利用同样的漏洞攻击了基于vBulletin软件包制作的Foxit软件公司论坛。根据当时来自网络安全公司的说法,这个漏洞在被发现时已经存在了3年之久,属于一个远程代码执行漏洞,允许攻击者几乎可以完全控制基于vBulletin软件包制作的论坛网站。
vBulletin官方在之后发布了一个安全补丁vBulletin 5(5.1.4~5.1.9),并对其所有用户强制进行了密码重置。
本文由黑客视界综合网络整理,图片源自网络;转载请注明“转自黑客视界”,并附上链接。
领取专属 10元无门槛券
私享最新 技术干货