CVE-2025-68697: CWE-269: n8n-io n8n中的不当权限管理
严重性: 高 类型: 漏洞 CVE: CVE-2025-68697
概述
n8n是一个开源的工作流自动化平台。在2.0.0版本之前,在自托管的n8n实例中,如果Code节点在传统(非任务运行器)JavaScript执行模式下运行,则拥有工作流编辑权限的经过身份验证的用户可以从Code节点内部调用内部辅助函数。这允许工作流编辑器以与n8n进程相同的权限在n8n主机上执行操作,包括:从主机文件系统读取文件(受限于实例配置的任何文件访问限制以及操作系统/容器的权限),以及向主机文件系统写入文件(受限于相同的限制)。此问题已在版本2.0.0中修复。此问题的变通方案包括:通过设置N8N_RESTRICT_FILE_ACCESS_TO环境变量来限制文件操作到一个专用目录(例如~/.n8n-files)并确保该目录不包含敏感数据;保持N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES=true(默认值)以阻止对.n8n和用户定义的配置文件访问;以及如果工作流编辑器不完全受信任,则使用NODES_EXCLUDE禁用高风险节点(包括Code节点)。
技术分析
CVE-2025-68697是一个被归类为CWE-269(不当权限管理)和CWE-749(暴露危险方法或函数)的漏洞,影响2.0.0版本之前的开源工作流自动化平台n8n。该问题出现在自托管的n8n部署中,其中Code节点在传统的JavaScript执行模式(非任务运行器模式)下运行。拥有工作流编辑权限的认证用户可以通过从Code节点内部调用内部辅助函数来利用此缺陷。这些辅助函数提供对底层主机文件系统的访问,权限与n8n进程相同。因此,攻击者可以读取敏感文件或向主机写入任意文件,其限制仅来自现有的操作系统或容器级别的权限以及n8n内配置的任何文件访问限制。这可能导致敏感信息的未经授权泄露、潜在的配置或操作文件篡改,以及如果关键文件被覆盖,则可能导致进一步的权限提升。该漏洞除了身份验证之外不需要额外的用户交互,并且可以通过网络远程利用。供应商在n8n 2.0.0版本中通过更改执行模式和限制访问来解决此问题。变通方案包括:配置N8N_RESTRICT_FILE_ACCESS_TO等环境变量以限制可访问的目录,启用N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES以阻止访问敏感配置文件,以及如果工作流编辑器不完全受信任,则通过NODES_EXCLUDE禁用Code节点等风险节点。截至发布日期,尚未有已知的在野利用报告。
潜在影响
对于欧洲组织而言,此漏洞构成重大风险,特别是对于那些部署自托管n8n实例以自动化业务流程的组织。利用此漏洞可能导致未经授权访问存储在主机系统上的敏感企业数据,包括凭据、配置文件或专有信息。写入文件的能力可能允许攻击者植入恶意脚本或修改工作流,从而可能破坏业务运营或实现网络内的进一步横向移动。鉴于n8n在自动化关键流程中的作用,其被攻陷可能影响数据完整性和运营连续性。金融、医疗保健和政府等受严格监管行业的组织尤其脆弱,因为它们需要遵守GDPR和其他法规的严格数据保护要求。该漏洞的利用仅需要拥有工作流编辑权限的认证访问,而这些权限可能通过泄露的凭据或内部威胁获得,从而增加了攻击面。无需用户交互和可远程网络利用的特性进一步加剧了风险。未能修补或缓解此漏洞可能导致数据泄露、违规行为、声誉损害和运营中断。
缓解建议
欧洲组织应立即将所有自托管的n8n实例升级到2.0.0或更高版本,以完全修复此漏洞。在可以执行升级之前,请实施以下缓解措施:
- 配置环境变量
N8N_RESTRICT_FILE_ACCESS_TO,将文件操作限制在包含非敏感数据的专用目录,以最小化未经授权的文件访问风险。 - 确保将
N8N_BLOCK_FILE_ACCESS_TO_N8N_FILES设置为true(默认值),以阻止对.n8n目录和用户定义的配置文件的访问,保护关键配置数据。 - 如果工作流编辑器不完全受信任,请使用
NODES_EXCLUDE环境变量禁用Code节点和其他高风险节点,从而减少攻击面。 - 实施严格的访问控制并监控工作流编辑器帐户的可疑活动,以防止未经授权的权限提升。
- 采用网络分段和主机级安全控制措施,以限制任何潜在泄露的影响。
- 定期审计和审查工作流权限和用户角色,确保遵循最小权限原则。
- 对文件访问和工作流更改实施日志记录和告警,以便及时检测利用尝试。
受影响国家
德国、法国、英国、荷兰、瑞典、意大利、西班牙、波兰
来源: CVE数据库V5 发布日期: 2025年12月26日,星期五