n8n远程代码执行漏洞简报(CVE-2026-21858)

admin 2026-01-23 12:20:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档披露n8n平台严重漏洞CVE-2026-21858,CVSS10.0。该漏洞利用Webhook的Content-Type混淆缺陷,通过JSON请求绕过解析实现任意文件读取,进而伪造Cookie进行无认证RCE。影响1.65.0至1.121.0版本。建议升级至1.121.0及以上,并排查异常JSON请求。 综合评分: 88 文章分类: 漏洞预警,漏洞分析,WEB安全


cover_image

n8n远程代码执行漏洞简报(CVE-2026-21858)

科恩DF小队 科恩DF小队

腾讯安全威胁情报中心

2026年1月22日 16:11 北京

01

漏洞基本信息

  • 漏洞名称

CVE-2026-21858 (别名: Ni8mare)

  • 漏洞发布时间

2026年1月7日

  • 影响组件

n8n (工作流自动化平台)

  • 影响版本

      1.65.0 至 1.121.0 (不含 1.121.0)

  • 披露渠道

Cyera Research Labs博客[1]

  • 漏洞危害

严重 (Critical, CVSS 10.0)。攻击者无需认证即可获取管理员权限并远程执行任意代码 (RCE),完全接管服务器,窃取数据库凭证和配置密钥 。

  • 漏洞描述

n8n 在处理 Webhook 请求时存在“Content-Type 混淆”逻辑缺陷。攻击者可以通过发送特制的 JSON 请求(而非预期的 Multipart 请求)欺骗解析器,从而控制请求中的文件路径。这允许攻击者读取服务器上的任意文件(如配置文件和数据库),进而利用读取到的密钥伪造管理员 Cookie,最终通过执行命令节点获得服务器控制权 。

02

排查方式

  • 异常请求头

检查发往  /form/ 端点的 POST 请求,其 Content-Type 不是 multipart/form-data (漏洞利用为 application/json) 。

  • 恶意 Payload 特征

检查上述请求的 Body 中是否包含 “files” JSON 对象字段,这是利用漏洞的关键特征 。

03

防护建议

  • #### 漏洞缓解方式

在 n8n 配置中暂时禁用受影响的 Form 节点功能。

  • 修复建议

将 n8n 升级至 1.121.0 或更高版本。

04

洞见

  • 复现截图[2]

#

  • 漏洞分析

我们对比下正常请求和非正常请求的处理流程,以此来理解漏洞。

正常情况是 multipart/form-data,流程如下:

1.LiveWebhooks.executeWebhook 调用 WebhookHelpers.executeWebhook;

2.parseRequestBody 检测到 multipart/form-data,走 parseFormData();

3.parseFormData 用 formidable 解析真实上传内容,生成临时文件路径;

4.WebhookService.runWebhook → FormTriggerV2.webhook → formWebhook;

5.formWebhook 调 prepareFormReturnItem,读取 req.body.files(formidable 输出的真实文件);

6.prepareFormReturnItem → copyBinaryFile,读取临时上传文件路径。

在 application/json 下的流程是:

1.LiveWebhooks.executeWebhook 调用 WebhookHelpers.executeWebhook;

2.parseRequestBody  检测到application/json 走 parseBody()(不经过formidable);

3.parseBody 对json类型用jsonParse解析;

4.WebhookService.runWebhook → FormTriggerV2.webhook → formWebhook;

5.formWebhook 调 prepareFormReturnItem,读取 req.body.files(用户请求传入的任意文件);

6.prepareFormReturnItem->copyBinaryFile,读取任意文件。

可以看到二者的差异主要是在是否用formidable解析上传的文件,并设置files为指定路径formWebhook错误的信任前期对请求的预处理,这让我想起了之前Orange Tsai 在httpd上发现的一系列Confusion Attacks[3]也是类似的信任前期节点的处理从而导致出现问题。

在类似的软件开发中,每个节点应该做好充足的校验,不要直接信任前置节点的处理结果。

参考链接

[1]   Ni8mare  –  Unauthenticated Remote Code Execution in n8n (CVE-2026-21858) | Cyera Research Labs

https://www.cyera.com/research-labs/ni8mare-unauthenticated-remote-code-execution-in-n8n-cve-2026-21858

[2] GitHub – Chocapikk/CVE-2026-21858: n8n Ni8mare – Unauthenticated Arbitrary File Read to RCE Chain (CVSS 10.0)

https://github.com/Chocapikk/CVE-2026-21858

[3] Confusion Attacks: Exploiting Hidden Semantic Ambiguity in Apache HTTP Server! | Orange Tsai

https://blog.orange.tw/posts/2024-08-confusion-attacks-en/


免责声明:

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

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

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

本文转载自:腾讯安全威胁情报中心 科恩DF小队 科恩DF小队《n8n远程代码执行漏洞简报(CVE-2026-21858)》

评论:0   参与:  0