文章总结: n8n工作流引擎存在严重漏洞链,攻击者通过公开Form表单URL,利用Content-Type混淆读取任意文件,进而获取环境变量、配置文件和数据库凭证,伪造JWT接管管理员权限,最终通过表达式注入执行任意命令。影响版本0.211.0至1.65.0,修复版本1.121.0,涉及CVE-2026-21858和CVE-2025-68613。建议立即升级并检查公开的Form端点。 综合评分: 87 文章分类: 漏洞分析,WEB安全,安全工具,安全建设,解决方案
【安全圈】一个表单打穿服务器: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)
怎么修?
- 立即升级到n8n 1.121.0或更高版本
- 检查是否有公开的Form端点暴露在公网上
- 临时缓解:对Form端点添加认证或限制访问IP
END
阅读推荐
【安全圈】AI首次“叛变”!OpenAI模型自主攻击友商系统
【安全圈】Chick-fil-A 在凭证填充攻击后披露数据泄露事件
【安全圈】新型 HollowGraph 恶意软件滥用 Microsoft 365 日历进行 C&C 通信
【安全圈】GPT写代码翻车,误删用户整个家目录
安全圈
←扫码关注我们
网罗圈内热点 专注网络安全
实时资讯一手掌握!
好看你就分享 有用就点个赞
支持「安全圈」就点个三连吧!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全圈 《【安全圈】一个表单打穿服务器:n8n五步攻击链曝光》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论