n8n 严重安全漏洞:Pyodide Python代码节点存在任意命令执行风险

本文详细披露了n8n工作流自动化平台中存在的一个高危漏洞(CVE-2025-68668)。该漏洞存在于基于Pyodide的Python代码节点中,可导致经过身份验证的攻击者在宿主系统上执行任意命令。文章包含了漏洞的影响、受影响的版本、补丁版本以及缓解措施。

漏洞详情

CVE ID: CVE-2025-68668 GHSA ID: GHSA-62r4-hw23-cc8v 严重等级: 严重(CVSS 评分 9.9)

漏洞影响

基于Pyodide的Python代码节点中存在沙箱绕过漏洞。 拥有创建工作流或修改工作流权限的认证用户可利用此漏洞,在运行n8n的宿主系统上执行任意命令,命令执行权限与n8n进程相同。

受影响的版本

npm包 n8n 版本 >= 1.0.0, < 2.0.0

已修复版本

版本 2.0.0

补丁信息

  • 在n8n版本1.111.0中,引入了一个基于任务运行器的原生Python实现作为可选功能,该实现提供了更安全的隔离模型。要启用它,您需要配置N8N_RUNNERS_ENABLEDN8N_NATIVE_PYTHON_RUNNER环境变量。
  • 此实现在n8n 2.0.0版本中成为默认设置。

缓解措施

  1. 通过设置环境变量 NODES_EXCLUDE: "[\"n8n-nodes-base.code\"]" 禁用代码节点。
  2. 通过设置环境变量 N8N_PYTHON_ENABLED=false 禁用代码节点中的Python支持,此功能在n8n 1.104.0版本中引入。
  3. 通过 N8N_RUNNERS_ENABLEDN8N_NATIVE_PYTHON_RUNNER 环境变量将n8n配置为使用基于任务运行器的Python沙箱。

相关资源

  • n8n文档:阻止访问节点
  • n8n文档:代码节点(Python)
  • n8n文档:任务运行器

参考资料

CVSS v3.1 基准指标

向量字符串: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L 攻击向量: 网络 攻击复杂度:所需权限:用户交互:范围: 已更改 机密性影响:完整性影响:可用性影响:

弱点

CWE-ID: CWE-693 - 保护机制失效

致谢

此漏洞由以下人员报告:berkdedekarginoglu, VladimirEliTokarev, Ofekitach。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计