论坛首页 AI安全讨论区 阅读主题

[分享]AI供应链安全:Xinference存在未授权访问漏洞(CVE-2025-45424)

106 浏览 0 回复
#1 楼主 2026-06-01 21:09:08
漏洞名称
Xinference未授权访问产品名称Xinference产品简介一个集成多种模型推理和应用的开源平台,应用十分广泛影响版本v1.7.0及之前的全部版本漏洞编号CVE-2025-45424、CNVD-2025-16168漏洞类型未授权访问漏洞成因Xinference的auth_config_file参数值默认为空,导致其默认未配置身份验证危害等级中危利用条件默认配置且互联网可连接漏洞危害攻击者可以实现窃取敏感模型资产、滥用模型计算资源、恶意删除模型和拒绝服务等安全建议1.安全自查;2.避免资产暴露公网;3.增加身份验证,修改默认配置
一、产品概述Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。
Xinference功能强大且用途十分广泛。当前Xinference支持分布式推理、VLLM增强,能够与Dify、FastGPT、RAGFlow等主流人工智能平台集成。借助Xinference,我们可以轻松部署并使用模型推理。
(图 Xinference GithubStarHistory) 

二、漏洞描述
Xinference作为一个集成多种模型推理及应用的开源平台,存在CVE-2025-45424漏洞。其漏洞成因是由于Xinference默认未设置身份验证。
对于存在漏洞且暴露在互联网中的Xinference极易遭受攻击。攻击者可以实现窃取敏感模型资产、滥用模型计算资源、恶意删除模型和拒绝服务等操作。
三、漏洞危害
从攻防对抗视角分析,暴露在公网环境的 Xinference 实例将成为黑客的重要攻击目标。具体攻击链可分为三个阶段:
1. 探测阶段:通过端口扫描(默认端口通常为 9997)与指纹识别,快速定位存在漏洞的资产;
2. 利用阶段:调用模型部署、任务提交等 API 接口,实现无授权操作;
3. 破坏阶段:根据攻击目的实施针对性破坏,包括但不限于:
    a. 盗取预训练模型权重文件(尤其针对企业私有训练的垂直领域模型);    b. 发起算力劫持(将目标设备纳入僵尸网络参与加密货币挖矿或分布式计算任务);    c. 执行模型文件删除操作(通过 DELETE 请求删除关键模型存储路径);    d. 构造畸形输入触发 OOM(内存溢出)实现拒绝服务。
四、资产暴露现状截止2025年6月,我们通过fofa搜索引擎搜索相关资产,并快速完成筛选。发现互联网上暴露的可被利用资产不低于3795家。这说明当前安全形势十分严峻。
五、官方响应及背书
确认该漏洞有效后,我们立即向CNVD、CVE等官方团队提交了详尽技术报告(含POC复现、EXP攻击脚本、修复方案)。官方团队快速响应,并给予漏洞编号。
六、漏洞成因剖析
本例中分析的xinference源码版本为0.28。进入xinference/api/restful_api.py源码文件中,可以看到fastapi的相关路由和接口。分析源码,可知:除/v1/models/prompts、/v1/models/vllm-supported、/v1/cluster/info等路由外,其他路由均存在权限验证的身份依赖。再次分析路由的权限验证身份依赖,源码如下。此处对源码进行解读:如果想要执行/v1/models/{model_uid} 路由,那么必须通过dependencies。在dependencies中,如果self.is_authenticated()的值为Ture,即系统启用认证的情况下,为 API 路由添加一个权限检查依赖项,要求访问该路由的用户必须具有 models:stop 权限。如果系统未启用认证,则不进行权限检查。继续追踪self.is_authenticated() 方法,代码如下所示。我们发现self.is_authenticated()的值与self._auth_service.config 有关,若self._auth_service.config为空,则返回False。而通过self._auth_service 可以追踪到AuthService(auth_config_file)方法。AuthService方法存在于xinference/api/oauth2中,相关源码如下所示。
通过上述源码,我们进一步分析,可以得到结论如下:_auth_service.config的值就是AuthService类中self._config的值,而self._config 的值由self.init_auth_config()返回。而self.init_auth_config()返回的值,由auth_config_file来确定。重点:如果auth_config_file为空,则self.init_auth_config()返回的值也为空。在RESTfulAPI路由中,auth_config_file的值是多少呢?进一步查看,发现默认为空。因此可以得出结论如下:Xinference默认情况下auth_config_file 文件为空,导致权限默认为未设置。Xinference默认配置下,攻击者可以未授权访问任意FastAPI路由,实现模型调用、模型删除等操作。
七、安全建议
基于上述分析,我们建议相关企业及个人用户立即采取以下措施:
首先,开展全面自查,确认自身 Xinference 部署是否受该漏洞影响;
其次,严格管控网络暴露面,非必要情况下避免将服务直接暴露于公网;
最后,强制启用并增强身份验证机制,如部署多因素认证、访问密钥管理等安全措施,从源头阻断未授权访问路径。

八、参考资料765K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Z5L8$3&6&6M7%4W2S2L8X3N6Q4x3V1k6j5K9h3&6X3k6i4u0W2L8X3y4W2i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2K9h3&6Q4x3V1k6j5K9h3&6X3k6i4u0W2L8X3y4W2i4K6g2X3g2$3g2T1i4K6u0r3h3r3W2F1k6X3g2J5k6h3&6U0k6g2)9#2k6W2N6W2j5W2)9#2k6V1g2z5i4K6u0W2k6r3!0U0P5l9`.`. 299K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5L8%4u0T1K9i4c8K6j5h3W2Q4x3V1k6A6L8X3k6W2M7X3g2F1j5$3f1`.
6f2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6L8X3k6W2M7X3g2F1j5$3g2Q4x3X3g2J5k6h3q4V1N6r3S2W2k6r3!0U0M7#2)9J5k6h3W2G2i4K6u0r3P5X3S2Q4x

...(已截断)

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-289608.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号