AstrBot任意文件读取漏洞分析
漏洞概述
AstrBot项目v3.5.22版本在_encode_image_bs64函数中存在任意文件读取漏洞。该漏洞位于entities.py文件中定义的_encode_image_bs64函数,该函数在打开用户请求体中指定的图像时,未对图像路径的合法性进行验证,直接将图像内容以base64编码字符串形式返回。
技术细节
漏洞机制
- 漏洞位置: entities.py文件中的
_encode_image_bs64函数 - 影响版本: <= 3.5.22
- 漏洞类型: 任意文件读取
- CVSS评分: 5.7(中危)
攻击原理
攻击者可以构造一系列恶意URL来读取任何指定文件,导致敏感数据泄露。由于函数缺乏对图像路径的合法性检查,使得路径遍历攻击成为可能。
安全影响
受影响指标
CVSS v4基础指标:
- 攻击向量:网络
- 攻击复杂度:低
- 权限要求:低
- 用户交互:无
- 完整性影响:高
弱点分类
CWE-22: 对路径名的限制不当(路径遍历)
- 产品使用外部输入构造路径名,旨在识别位于受限父目录下的文件或目录,但产品未能正确中和路径名中的特殊元素,导致路径名解析到受限目录之外的位置。
参考信息
安全状态
- GitHub咨询数据库发布: 2025年11月7日
- 最后更新: 2025年11月7日
- 修复版本: 暂无
该漏洞目前被评定为中等严重程度,攻击者利用此漏洞可能导致系统敏感信息泄露,建议用户关注官方修复进展并及时更新。