🟠 高危 | CVE-2026-65591 — n8n contains a sanitizer bypass vulnerability in t...
🟠 【深度分析】高危安全漏洞:CVE-2026-65591
CVSS 评分: 高危(8.9)🟠 状态: Analyzed 发布时间: 2026-07-22
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-65591 |
| CVSS 评分 | 8.9 🟠 |
| 严重程度 | 高危 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-917 |
| 发布时间 | 2026-07-22 |
| 最后更新 | 2026-07-27 |
| 状态 | Analyzed |
| 数据来源 | disclosure@vulncheck.com |
⚠️ CVSS 4.0 评分:8.9(高危)
向量:CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:L
威胁等级: 高危
漏洞概述
CVE-2026-65591 是 n8n(一个开源的工作流自动化平台)中 legacy 表达式评估器(legacy expression evaluator)的 computed-member 处理程序存在的一个消毒绕过漏洞。具有工作流创建或修改权限的认证用户,可以构造恶意表达式绕过内置的消毒器,在宿主操作系统上以 n8n 进程的身份执行任意代码。该漏洞影响所有默认使用 legacy 表达式引擎的 n8n 版本,属于高危的远程代码执行(RCE)漏洞。
受影响组件与版本
- 组件: n8n(legacy 表达式引擎,即旧版表达式评估器)
- 影响版本: 所有低于修复版本的 n8n 版本(默认启用 legacy 表达式引擎)
- 安全版本:
- n8n 1.123.64
- n8n 2.29.8
- n8n 2.30.1
- 官方公告: https://nvd.nist.gov/vuln/detail/CVE-2026-65591
漏洞原理分析
成因
n8n 的 legacy 表达式引擎允许用户在工作流节点中编写动态表达式(类似 JavaScript 或模板语法)来处理数据。为了防范恶意输入,引擎内含一个消毒器(sanitizer)用于过滤危险操作。但在 computed-member 处理程序(负责解析类似 obj[expression] 的属性访问)中,消毒逻辑存在缺陷。
攻击者可以利用精心设计的表达式(例如包含特殊字符、原型污染或构造的字符串拼接)来绕过静态检测,从而注入并执行任意 JavaScript 代码。由于表达式引擎运行在 n8n 进程上下文中,代码执行直接提升为宿主级命令执行。
攻击向量分析(基于 CVSS 向量)
- AV:N(网络攻击):攻击者可通过 n8n 的 Web 界面或 API 远程触发,无需物理接触。
- AC:L(低攻击复杂度):无需复杂的竞态条件或特殊环境配置,利用方式简单直接。
- AT:P(攻击需求 Present):利用可能依赖特定前提条件(如 legacy 引擎必须启用、目标 n8n 实例需要接收外部工作流等),但官方指出 legacy 引擎在受影响版本中为默认配置,因此条件普遍满足。
- PR:L(低权限):只需要拥有工作流创建或修改权限的认证用户,这通常是 n8n 的普通用户权限,并非管理员。
- UI:N(无需用户交互):攻击者构造工作流后,表达式在保存或执行时自动触发,无需管理员或其他用户配合。
CWE-917:该漏洞归类为表达式语言注入(Expression Language Injection),属于注入类缺陷。
影响评估
| 维度 | 评估 |
|---|---|
| 攻击复杂度 | 低 |
| 所需权限 | 低(工作流创建或修改权限) |
| 攻击前提 | 目标 n8n 实例使用 legacy 表达式引擎(默认) |
| 影响范围 | 机密性、完整性、可用性均为高(VC:H/VI:H/VA:H),且安全影响(Safety)方面也存在高风险(SC:H, SI:H, SA:L) |
| 潜在后果 |
- 攻击者完全控制 n8n 进程,可执行任意操作系统命令。
- 窃取 n8n 数据库凭证、工作流数据、API token 等敏感信息。
- 横向移动:利用 n8n 与其他系统的集成(如数据库、云服务)发起进一步攻击。 |
| 漏洞可利用性 | 现已公开,PoC 存在可能性高,需立即修复。 |
修复建议
官方补丁
立即将 n8n 升级至以下安全版本(或更高):
- n8n 1.123.64(对于 1.x 系列)
- n8n 2.29.8(对于 2.x 系列)
- n8n 2.30.1(对于 2.30.0 版本)
临时缓解措施(无法立即升级时)
- 切换表达式引擎:如果 n8n 版本允许,可手动禁用 legacy 表达式引擎,启用新的表达式引擎(但需确认新版本中是否已彻底移除该缺陷)。
- 限制用户权限:严格限制工作流创建/修改权限仅授予可信用户;启用最小权限原则,避免使用 n8n 管理员账号进行日常操作。
- 网络隔离:将 n8n 实例部署在内部网络,避免暴露在公网;通过防火墙限制对 n8n Web 界面和 API 的访问来源。
- 启用审计日志:监控 n8n 工作流表达式的异常修改,及时告警。
检测方法
- 审查工作流中的表达式字段,查找可疑的
eval()、require()、process等关键字。 - 使用安全扫描工具(如 Grype、Trivy)扫描 n8n 镜像版本是否在受影响范围内。
参考资料
- CVE 详情页(NVD): https://nvd.nist.gov/vuln/detail/CVE-2026-65591
- CWE-917 描述: https://cwe.mitre.org/data/definitions/917.html
- n8n 安全公告: 参见官方 GitHub 发布页面或 changelog(https://github.com/n8n-io/n8n/releases)
- CVSS 4.0 规范: https://www.first.org/cvss/v4.0/specification-document
免责声明:本文基于 NVD 公开数据及通用安全理解撰写,未对具体漏洞利用细节进行逆向分析。建议组织根据自身环境参考官方补丁及安全文档采取行动。