-
-
[分享]AI供应链安全:Xinference存在未授权访问漏洞(CVE-2025-45424)
-
发表于: 1天前 236
-
| 漏洞名称 | 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 部署是否受该漏洞影响;
其次,严格管控网络暴露面,非必要情况下避免将服务直接暴露于公网;
最后,强制启用并增强身份验证机制,如部署多因素认证、访问密钥管理等安全措施,从源头阻断未授权访问路径。
八、参考资料
bd7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Z5L8$3&6&6M7%4W2S2L8X3N6Q4x3V1k6j5K9h3&6X3k6i4u0W2L8X3y4W2i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2K9h3&6Q4x3V1k6j5K9h3&6X3k6i4u0W2L8X3y4W2i4K6g2X3g2$3g2T1i4K6u0r3h3r3W2F1k6X3g2J5k6h3&6U0k6g2)9#2k6W2N6W2j5W2)9#2k6V1g2z5i4K6u0W2k6r3!0U0P5l9`.`.
8b9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5L8%4u0T1K9i4c8K6j5h3W2Q4x3V1k6A6L8X3k6W2M7X3g2F1j5$3f1`.
ab8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6A6L8X3k6W2M7X3g2F1j5$3g2Q4x3X3g2J5k6h3q4V1N6r3S2W2k6r3!0U0M7#2)9J5k6h3W2G2i4K6u0r3P5X3S2Q4x3X3c8U0L8W2)9J5c8X3I4S2N6r3g2K6N6q4)9J5c8X3W2F1k6r3g2^5i4K6u0W2K9s2c8E0L8l9`.`.
结语
CVE-2025-45424 漏洞本质上是开源框架安全设计缺陷:Xinference 默认不启用身份验证,将安全责任完全转嫁给用户。
我们通过资产探测,发现大量暴露公网且存在漏洞的资产,说明当前AI安全的形势十分严峻。从业务角度来讲,攻击者能够直接盗取模型敏感信息,滥用算力进而影响正常业务响应,通过恶意删除模型导致业务中断,其后果是难以评估的。
应对问题的核心在于落实安全措施:自查公网暴露状态与认证配置,非必要不暴露服务,按官方规范启用 auth_config_file 及多因素认证,阻断未授权访问路径。