Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Analysis-And-POC-N8N-CVE-2025-68613 — 针对 n8n 中 CVE-2025-68613 漏洞的技术研究,涵盖受影响版本、实验室探索场景、攻防分析以及缓解策略。 | Kitploit
工具/GitHubGitHub/rianjuniorsf/analysis-and-poc-n8n-cve-2025-68613
防御工具漏洞分析漏洞利用Web应用程序漏洞利用渗透测试论文与研究学习与教育红队

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
rianjuniorsf/analysis-and-poc-n8n-cve-2025-68613

Analysis-And-POC-N8N-CVE-2025-68613

针对 n8n 中 CVE-2025-68613 漏洞的技术研究,涵盖受影响版本、实验室探索场景、攻防分析以及缓解策略。

查看仓库
1549个月前尚未审核

概述(n8n 与 CVE-2025-68613)

n8n 是一个工作流自动化平台,用于通过可视化流程和 JavaScript 表达式集成系统与服务。

CVE-2025-68613 是一个严重的远程代码执行(RCE)漏洞,CVSS 评分为 9.9,影响多个版本的 n8n。该缺陷出现在未正确隔离的易受攻击版本中,工作流内 JavaScript 表达式的处理过程中。这使得具有编辑权限的已认证用户能够执行超出应用程序预期行为的代码。

实际上,该缺陷可被利用来在运行 n8n 的服务器上执行命令,并使用应用程序自身的权限。受影响的版本范围从 0.211.0 一直到 1.120.4、1.121.1 和 1.122.0 中应用修复之前的版本。

n8n

潜在影响

  • n8n 实例被完全攻陷。
  • 访问工作流处理的数据。
  • 泄露凭据、SSH 密钥、环境变量和集成令牌。
  • 间接访问已连接的系统。

本仓库从技术角度记录了 CVE-2025-68613,涵盖该缺陷的背景、受影响版本、利用方式以及推荐的缓解措施。

在 hunter 中搜索 n8n

受影响版本与已修复版本

状态n8n 版本备注
❌ 受影响>= 0.211.0引入易受攻击的机制
❌ 受影响< 1.120.4在 1.120 分支补丁之前均受影响
❌ 受影响< 1.121.1在 1.121 分支补丁之前均受影响
❌ 受影响< 1.122.0在 1.122 分支补丁之前均受影响
✅ 已修复1.120.4已应用官方修复
✅ 已修复1.121.1已应用官方修复
✅ 已修复>= 1.122.0默认包含修复

建议立即更新到 1.122.0 或更高版本。

概念验证(PoC)

场景前提条件

为演示该漏洞,需要满足以下条件:

  • 运行易受攻击版本的 n8n 实例
  • 已认证用户
  • 写入权限(创建或编辑工作流)

该缺陷发生在工作流的创建和执行过程中,而非认证之前。


利用步骤

步骤 1 — 在平台上进行认证

第一步是使用有效用户登录 n8n Web 界面。

n8n 登录界面

此步骤确认该攻击并非匿名。该漏洞需要已认证用户。


步骤 2 — 权限确认

登录后,验证该用户是否具有创建和编辑工作流的权限。

用户管理界面

这一点很重要,因为只有具有此访问级别的用户才能将动态表达式插入工作流。


步骤 3 — 创建新工作流

使用已认证用户,从零开始创建一个新工作流。

创建工作流的初始界面

从这里开始,是对 n8n 功能的合法使用,而在易受攻击的版本中,这可能会被利用。


步骤 4 — 添加 Manual Trigger

添加到工作流的第一个节点是 Manual Trigger。

添加 Manual Trigger

此节点的作用: 允许手动执行工作流,用作流程的起点。

在此场景中,它仅作为工作流执行的入口点。


步骤 5 — 添加 Edit Fields (Set) 节点

添加的第二个节点是 Edit Fields (Set)。

添加 Edit Fields (Set) 节点

此节点的作用: 此节点允许在工作流内创建、修改或覆盖数据字段。它接受静态值或在执行时求值的 JavaScript 表达式。

正是在这一点上,该漏洞显现出来。


步骤 6 — 插入易受攻击的表达式

在 Edit Fields (Set) 节点的值字段内,插入一个由 {{ }} 包裹的 JavaScript 表达式,这是 n8n 用于求值动态表达式的格式。

包含 payload 的表达式字段

示例 payload:

{{ (function(){ 
  return this.process.mainModule
    .require('child_process')
    .execSync('id')
    .toString() 
})() }}
  • (function(){ ... })():定义一个自调用函数,允许封装所有逻辑并直接向工作流表达式返回一个值。
  • this.process:访问 Node.js 内部的 process 对象,该对象暴露运行时信息和资源。
  • process.mainModule:允许访问应用程序的主模块,从而能够加载其他 Node.js 内部模块。
  • require('child_process'):Node.js 原生模块,允许在操作系统上创建新进程并执行外部命令。
  • execSync('id'):直接在运行 n8n 的操作系统上执行命令,并使用应用程序进程的权限。
  • .toString():将所执行命令的输出转换为文本,使结果能够显示在 n8n 界面中。

最终结果

显示的结果确认该命令已使用 n8n 进程权限在操作系统上执行,构成远程代码执行(RCE)。

参考资料

  • https://nvd.nist.gov/vuln/detail/CVE-2025-68613
  • https://motasemhamdan.medium.com/unpacking-n8n-rce-cve-2025-68613-39e4f3417358
  • https://ccb.belgium.be/advisories/warning-remote-code-execution-n8n-patch-immediately
  • https://gbhackers.com/poc-exploit-for-critical-n8n-rce-vulnerability/
下载工具