MindsDB 在 file.py 中写入任意文件 (CVE-2023-50731)
CVE编号
CVE-2023-50731利用情况
暂无补丁情况
N/A披露时间
2023-12-23漏洞描述
MindsDB是一个用于人工智能的SQL Server。在版本23.11.4.1之前,`mindsdb/mindsdb/api/http/namespaces/file.py`中的`put`方法未对用户可控的名称值进行验证,该值用于临时文件名,然后在122-125行打开进行写操作,从而导致路径注入。在方法的后面,临时目录在151行被删除,但由于我们可以利用路径注入漏洞在目录外部进行写操作,潜在危险文件不会被删除。由于125行的`f.write(chunk)`,可以写入任意文件内容。Mindsdb之后在`file-controller.py`的`save_file`方法的149行检查了文件是否为`csv`、`json`、`parquet`、`xls`或`xlsx`类型,如果是,则调用`file_handler.py`中的`_handle_source`方法。然而,由于检查是在文件已经被写入之后进行的,文件仍然存在(并且由于前面描述的路径注入问题,不会被删除),只是`_handle_source`方法会返回错误。同样的用户可控源还用于另一个路径注入漏洞,位于第138行。这导致另一个路径注入,允许攻击者删除服务器上的任何`zip`或`tar.gz`文件。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 网络
- 攻击复杂度 低
- 权限要求 无
- 影响范围 未更改
- 用户交互 无
- 可用性 高
- 保密性 无
- 完整性 高
CWE-ID | 漏洞类型 |
CWE-918 | 服务端请求伪造(SSRF) |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论