【安全圈】一个表单打穿服务器:n8n五步攻击链曝光

admin 2026-07-24 05:08:54 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: n8n工作流引擎存在严重漏洞链,攻击者通过公开Form表单URL,利用Content-Type混淆读取任意文件,进而获取环境变量、配置文件和数据库凭证,伪造JWT接管管理员权限,最终通过表达式注入执行任意命令。影响版本0.211.0至1.65.0,修复版本1.121.0,涉及CVE-2026-21858和CVE-2025-68613。建议立即升级并检查公开的Form端点。 综合评分: 87 文章分类: 漏洞分析,WEB安全,安全工具,安全建设,解决方案


cover_image

【安全圈】一个表单打穿服务器:n8n五步攻击链曝光

安全圈

2026年7月23日 19:00 江苏

在小说阅读器读本章

去阅读

关键词

n8n

热门开源工作流引擎n8n(GitHub 60k+ Stars)被曝出严重安全漏洞链:攻击者只需知道一个公开的Form表单URL,5步即可从外部打穿到容器内部执行任意命令,全程无需密码、无需钓鱼。

n8n是什么?

n8n是一个可视化工作流引擎,用拖拽方式串联各种服务——HTTP请求、AI模型、Slack通知等。超过60%的用户选择自托管(自己部署Docker),这意味着安全配置也由自己负责。

五步攻击链

第一步:Content-Type混淆,读取任意文件

n8n的Form表单处理存在逻辑缺陷。正常情况下文件上传走multipart解析,但攻击者将Content-Type改为application/json,直接在JSON体中指定文件路径,n8n会用fs.readFile读取服务器上的任意文件。

curl-X POST http://目标/form/xxx \
-H"Content-Type: application/json"\
-d'{"data":{},"files":{"x":{"filepath":"/etc/passwd"}}}'

第二步:读取环境变量,定位配置

读取/proc/self/environ获取HOME目录等关键信息。

第三步:读取配置文件和数据库

$HOME/.n8n/config拿到encryptionKey,从$HOME/.n8n/database.sqlite拿到管理员凭证。

第四步:伪造JWT,接管管理员权限

利用encryptionKey派生JWT签名密钥,伪造管理员Token。

第五步:表达式注入,执行任意命令

通过n8n的Set节点注入恶意表达式,逃逸沙箱实现远程代码执行。

影响范围

  • 影响版本:0.211.0 ~ 1.65.0
  • 修复版本:1.121.0
  • 涉及CVE:CVE-2026-21858(CVSS 10.0)+ CVE-2025-68613(CVSS 9.9)

怎么修?

  1. 立即升级到n8n 1.121.0或更高版本
  2. 检查是否有公开的Form端点暴露在公网上
  3. 临时缓解:对Form端点添加认证或限制访问IP

END

阅读推荐

【安全圈】AI首次“叛变”!OpenAI模型自主攻击友商系统

【安全圈】Chick-fil-A 在凭证填充攻击后披露数据泄露事件

【安全圈】新型 HollowGraph 恶意软件滥用 Microsoft 365 日历进行 C&C 通信

【安全圈】GPT写代码翻车,误删用户整个家目录

安全圈

←扫码关注我们

网罗圈内热点 专注网络安全

实时资讯一手掌握!

好看你就分享 有用就点个赞

支持「安全圈」就点个三连吧!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全圈 《【安全圈】一个表单打穿服务器:n8n五步攻击链曝光》

评论:0   参与:  0