AstrBot任意文件读取漏洞分析
漏洞概述
AstrBot项目v3.5.22版本中存在一个任意文件读取漏洞,该漏洞位于entities.py文件中的_encode_image_bs64函数。
技术细节
漏洞位置
- 文件:
entities.py - 函数:
_encode_image_bs64
漏洞原理
_encode_image_bs64函数在打开请求体中用户指定的图像文件时,未对图像路径的合法性进行验证。该函数将图像内容以base64编码字符串的形式返回,但由于缺乏路径验证机制,攻击者可以通过构造一系列恶意URL来读取任意指定文件。
影响范围
- 受影响版本: <= 3.5.22
- 修复版本: 暂无
安全影响
此漏洞可导致敏感数据泄露,攻击者能够通过构造恶意请求读取服务器上的任意文件。
参考链接
漏洞评分
- 严重程度: 中等
- CVSS评分: 5.7/10
- 弱点类型: CWE-22(路径遍历漏洞)
技术特征
- 攻击向量: 网络
- 攻击复杂度: 低
- 所需权限: 低权限
- 用户交互: 无需