小红书上收藏量最高的那篇 n8n 本地部署教程,点赞 1100 多、收藏近 1800。我把评论区 15 条评论全翻了一遍:有人问"为什么右上角一直显示连接失败",有人卡在"密钥激活 failed",还有人说"部署成功了,博主发财"。小红书没有一条问:这东西要不要联网、安不安全。
这不怪用户。教程只教 docker run 一行命令跑起来、端口映射出去、浏览器能打开就算成功,没人教跑起来之后的事。而安全圈那边,n8n 这 8 个月几乎每个月都在上新闻。
今天这篇不是劝你卸载——n8n 依然是自托管自动化里最值得用的工具之一。我想把今年发生的事捋清楚:到底出了什么漏洞、哪些人真的在危险区里、你现在该做哪几步。看完大概五分钟,可能帮你避开一次真正的损失。

先放时间线:8个月,4个漏洞,一个比一个狠
以下全部是有公开 CVE 编号、可查证的事件。
2025年12月,CVE-2025-68613:沙箱逃逸,CVSS 9.9(满分10)。
n8n 的工作流里可以用 {{ }} 写表达式,服务端会执行它。官方做了沙箱限制这些表达式,结果被绕过了,直接变成远程代码执行。影响 0.211.0 到 1.120.4 之前的所有版本。按 Censys 当时的扫描,全球有 10 万多个实例可能受影响。微博不过这个漏洞有个前提:得先有账号登录。所以当时社区反应很平淡——“要管理员权限才能用的 RCE,跟没用一样”。知乎专栏
2026年1月,CVE-2026-21858:代号"Ni8mare",CVSS 满分10。
这是今年最关键的一个,因为它不需要任何账号密码,就能完整接管一台暴露在公网上的 n8n。安全公司 Cyera 当时扫描发现,超过 10 万台 n8n 服务器存在这个漏洞。微博
2026年2月,CVE-2026-25049:绕过12月的补丁。
有工作流创建/编辑权限的用户可以在服务器上执行任意代码,重点是它绕过了去年 12 月那个漏洞的官方补丁。微博也就是说,以为打过补丁就安全的人,又被击穿了一次。
2026年8月,CVE-2026-56348:凭证外带,最近的。
2.20.0 之前的版本里,有一个接口(dynamic-node-parameters)没有强制执行你自己配置的域名白名单。能碰到凭证的用户可以借它让服务器带着你的 API token、OAuth 密钥、数据库密码,向任意外部地址发请求。知乎专栏前三个是想抢你的服务器,这一个是直接把保险柜搬走。
Ni8mare是怎么零密码接管服务器的
这一段解释一下原理,你就明白为什么"自己部署"的受伤最重。
攻击链分四步:
第一步,n8n 的 Form Webhook 接口本来只该接收文件上传,但它不检查请求格式——你发个带路径参数的 JSON 过去,它原样把服务器上的文件读给你。这叫未授权任意文件读,不需要登录。知乎专栏
第二步,靠这个能力读出两样东西:n8n 的加密密钥(存在配置目录里),和整个数据库文件(你所有工作流、所有凭证、管理员账号都在里面)。
第三步,关键来了:n8n 是开源的。JWT 怎么签名、Cookie 怎么验证,源码里写得明明白白。攻击者拿着偷来的密钥,照源码的方式伪造一个管理员 Cookie——不用猜密码,直接"合法"登录后台。
第四步,进了后台就能建工作流,工作流表达式能触发第一步说的那个沙箱逃逸——服务器彻底易主。

这条链每一环单独看都不起眼:读文件"不就是读几个配置嘛",沙箱逃逸"不是要登录吗"。但组合起来,就是从"完全没账号"到"完全控制服务器"。
为什么自部署的用户首当其冲
三个原因,都和你我有关:
第一,开源就意味着没有秘密。 加密方式、签名逻辑全在源码里。开源让漏洞被修得更快,但也让攻击者能照着源码写利用脚本。对自部署的人来说,"密钥文件别被人读到"从加分项变成了生死线。
第二,教程式部署默认暴露公网。 大量轻量服务器、云主机教程就是 docker run 加端口映射,5678 端口直接开在公网上,没加反向代理,没加任何额外认证。而 Ni8mare 的攻击链要成立,前提就是实例能被公网访问。
第三,凭证全放在一个篮子里。 你用 n8n 连了多少服务,就有多少 token、密钥、数据库密码存在它的凭证库里。服务器一旦被拿下,不是丢一个账号,是连着的所有下游服务一起遭殃——你的邮箱、表格、支付接口、消息推送,全在里面。

三个反常识,别凭直觉判断风险
反常识一:配置了白名单 ≠ 安全。
8 月那个凭证漏洞最讽刺的地方在于:n8n 明明有"允许的 HTTP 请求域名"白名单功能,管理员也配置了,但那个出事的接口压根没校验白名单。安全设计里有个常见误区——把安全寄托在"配置"上而不是"代码强制"上。配置是人写的,总会漏。知乎专栏
反常识二:社区反应平淡 ≠ 风险低。
9.9 分的漏洞公布时"风平浪静",满分漏洞出来时大家觉得"打过补丁了"。但扫描数据不撒谎:Censys 和 Cyera 两次扫描都显示,暴露在公网的易受攻击实例在 10 万台这个量级。微博微博大多数人没中招,只是因为还没轮到,不是因为打不到。
反常识三:官方云版和自部署是两种完全不同的风险。
如果你用的是 n8n.io 官方云服务,补丁是官方打的,上面这些漏洞主要不用你操心。但注意另一个方向的风险:思科 Talos 的研究显示,2025 年 10 月到 2026 年 3 月,利用 n8n 平台发起的网络攻击爆发式增长——2026 年 3 月含 n8n 恶意链接的邮件比 2025 年 1 月涨了约 686%。知乎专栏攻击者注册免费账号,把钓鱼页面挂在 n8n 的可信域名下,让你以为是正规文件分享。也就是说,就算你自己不用,你的邮箱也可能收到伪装成 n8n 链接的钓鱼邮件——看到 app.n8n.cloud 的链接别顺手就点。
谁真的危险:对号入座
按部署方式分三档:
高危:轻量服务器/云主机直连公网 + 版本停在老版本。 尤其是 2025 年照教程装的、之后没怎么更新的。Ni8mare 和凭证漏洞都是你的菜,优先自查。
中危:部署在家里但做了端口映射/内网穿透。 只要从公网能访问到,性质和上面一样,只是被扫到的概率低一些。
低危:纯内网使用,NAS 上跑、只在家里访问。 攻击链够不着你,但凭证集中存储的风险还在,版本也建议跟上。
不在自查范围:用官方云版的。 你的重点变成防钓鱼,上面已经说了。
四步自查清单,五分钟做完
第一步:看版本。 登录后台左下角,或者容器里看镜像版本。底线是 2.20.0(8月凭证漏洞的修复线),建议直接升到最新——官方现在更新很勤,停在老版本等于给已知漏洞留门。
第二步:看暴露面。 从外部网络(比如手机流量)访问一下你的 n8n 地址。能打开就说明公网可达——要么收进内网,要么套一层反向代理加认证,别让 5678 裸奔。

第三步:换凭证。 如果你的版本长期停在漏洞影响范围内(1.120.4 之前,或 2.20.0 之前),把 n8n 里存过的重要 token、OAuth 授权、数据库密码轮换一遍。换的时候顺手做最小权限:只给工作流真正需要的权限,别图省事给管理员级 key。
第四步:留个后手。 给数据库文件做定期备份(凭证库丢了连"谁泄露了"都查不了),有条件的话看下访问日志里有没有陌生的 IP 反复试探。
最后说两句
写这篇不是制造焦虑。n8n 的漏洞多,一部分原因恰恰是它太火、部署量太大(GitHub 20万+星),盯它的人自然多;而且开源社区修得也快,漏洞披露后补丁基本都跟上了。
真正的问题在于:自托管的安全责任,全部在你自己。照教程把服务跑起来是免费的,但"跑起来"只是成本最低的一步,让它安全地一直跑下去,才是自托管真正的入场费。
后续值得持续留意两件事:一是 n8n 官方的安全公告和更新日志,出了新补丁尽快跟;二是你存的凭证数量——每多存一个,篮子就重一分,定期清理不用的连接,比什么加固都实在。
你的 n8n 是什么版本、部署在哪、存了多少凭证?欢迎评论区对个账。