CVE-2025-57698CVE-2025-57698是AstrBot Project v3.5.22版本中存在的一个高危安全漏洞,CVSS评分达到7.5分,属于高危级别。该漏洞位于AstrBot的插件安装功能模块中,具体为'/plugin/install-upload'接口的install_plugin_upload处理函数。该函数在处理用户上传的插件文件时,直接从HTTP请求体中提取文件名参数,并将其赋值给file_path变量,而没有对文件名进行任何有效性验证或安全过滤。攻击者可以利用这一缺陷,在文件名中包含路径遍历序列(如../),从而将上传的文件写入服务器文件系统上的任意位置。这种任意文件写入漏洞可能被进一步利用来执行远程代码执行、覆盖系统配置文件、植入后门程序或获取服务器完全控制权。由于该漏洞无需认证即可利用,且攻击复杂度较低,因此对暴露在网络中的AstrBot服务器构成严重威胁。
该漏洞的根本原因在于AstrBot Project的插件安装功能缺少必要的输入验证机制。具体分析如下:
1. 漏洞位置:AstrBot的'/plugin/install-upload'接口
2. 漏洞函数:install_plugin_upload
3. 漏洞原理:处理函数从用户请求体中获取filename参数后,直接将其赋值给file_path变量,未进行路径规范化或安全检查
4. 文件操作:file_path变量被直接传递给file.save()函数执行文件保存操作
5. 利用方式:攻击者构造包含目录遍历字符的恶意文件名,如"../../../../etc/cron.d/malicious"或"../../../var/www/html/backdoor.php"
漏洞代码流程:
- 用户发送POST请求到'/plugin/install-upload'接口
- 请求体中包含filename字段,值为路径遍历Payload
- install_plugin_upload函数解析filename并赋值给file_path
- file_path未经任何安全检查直接用于文件保存
- 攻击者上传的恶意文件被写入服务器任意位置
该漏洞允许未经认证的远程攻击者实现任意文件写入,可能导致远程代码执行、配置篡改或服务中断等严重后果。