ProjectSend身份验证绕过漏洞CVE-2024-11680
ProjectSend是一款强大而开源自由的客户端导向型私有文件共享Web应用,旨在促进服务器管理员和客户端之间的安全、私密文件传输。
ProjectSend旨在解决团队和专业服务提供者在安全、控制需求下的文件交换问题,遵循GNU GPL v2许可协议,在GitHub获得1,500颗星。
一、基本情况
ProjectSend 充分考虑了易用性与安全性,采用PHP作为主要开发语言,结合MySQL数据库,保证了其在各种服务器环境中的广泛兼容性。
ProjectSend 通过Composer管理依赖并利用npm处理前端资源,确保开发流程现代化,Gulp任务自动化编译CSS和JS,提高了开发效率。
通过ProjectSend可以轻松创建客户账户,分配用户名与密码,进而实现针对特定客户的文件上传与分发,为客户业务交流带来革新体验。
栋科技漏洞库关注到安全企业 VulnCheck 针对文件共享平台 ProjectSend 中的重大漏洞CVE-2024-11680做出警告,漏洞的CVSS评分9.8。
二、漏洞分析
CVE-2024-11680漏洞是ProjectSend r1720 之前版本中存在的一个身份验证绕过漏洞,该漏洞正在被积极利用,漏洞的PoC/EXP已公开。
该漏洞源于身份验证不当,攻击者可以在未经身份验证的情况下,向options.php发送恶意构造的HTTP POST请求,从而远程触发该漏洞。
利用该漏洞可以上传Webshell并获取服务器的远程访问权限,篡改应用程序组态、创建账号、上传Web Shell或注入恶意JavaScript脚本。
该漏洞成功利用的后果不限于更改站点配置(如修改站点标题、启用用户注册等)、上传恶意文件(WebShell)或注入恶意 JavaScript。
该漏洞在去年时就已被发现并由开发者着手修复,但直到2024年11月26日时才被披露并正式登记CVE编号,已有黑客将其用于攻击行动。
该漏洞最早由安全企业Synactiv于2023年01月通报,开发团队于同年05月尝试修补,直到2024年07月Synactiv公开对这项漏洞提出警告。
相关开发团队直到2024年08月时才正式提供修补程序,如上文所示,该漏洞直到2024年11月21日时才得以正式披露并且获得了CVE编号。
而ProjectDiscovery、Rapid7两家安全企业在此之前,已经宣布将该漏洞的相关规则加入了弱点扫描工具Nuclei、渗透测试工具Metasploit。
VulnCheck持续关注该漏洞的实际利用情况,发现从网际网络访问的ProjectSend服务器中约有208台服务,从09月份开始疑似遭到了篡改。
这些服务器的门户网站的标题已经变成了一长串随机字符串,而这些字符串的规则,正好与 Nuclei 与Metasploit加入的漏洞测试规则雷同。
这就意味着攻击者可能正在利用这些规则篡改服务器,研究人员使用GreyNoise的威胁分析平台对此分析,找到了122个攻击来源IP地址。
这些IP地址大部分来自德国,但也有爱尔兰、英国、澳洲以及日本,出现这样的情况,也意味着可能有很多组人马正在试图利用这一漏洞。
他们观测到攻击者一旦成功利用漏洞,就会尝试用户注册功能从而获取特殊权限,如攻击者可以在网站根目录(wepoot)上传Web Shell。
安全人员分析仅有1%左右使用r1750版,使用2022年10月推出的r1605占到55%,其余(44%)使用去年4月发布的版本(未公布版号)。
尽管安全形势如此险峻,但很少有 ProjectSend 服务器完成更新,安全人员推测,攻击者可能针对此类情况发起大规模ProjectSend 攻击。
Censys威胁情报平台数据显示全球约有超过4千套ProjectSend系统,但VulnCheck发现仍有大部分服务器使用有漏洞的旧版ProjectSend。
三、影响范围
ProjectSend < r1720
四、修复建议
ProjectSend >= r1720
五、参考链接
https://vulncheck.com/blog/projectsend-exploited-itw
https://github.com/projectsend/projectsend