CVE-2026-21858n8n是一款开源的工作流自动化平台,广泛应用于企业级自动化任务处理。该平台支持通过可视化界面创建复杂的工作流,实现各种系统间的数据流转和业务自动化。然而在1.65.0至1.121.0版本范围内,n8n存在一个严重的安全漏洞,攻击者可以通过构造特定的表单工作流来访问服务器上的任意文件系统资源。
此漏洞的核心问题在于n8n对用户输入的表单数据处理不当,缺乏充分的路径遍历防护机制。攻击者无需任何认证凭证,仅需构造恶意的表单工作流请求,即可触发文件读取操作。这意味着任何能够访问n8n实例的用户(甚至匿名用户)都可能利用此漏洞读取服务器上的敏感文件,包括但不限于:系统配置文件、环境变量文件(如.env)、数据库连接凭证、应用密钥、用户数据、SSH私钥等。
根据CVSS 3.1评分标准,该漏洞获得满分10.0,属于最高危级别。攻击向量为网络层面,攻击复杂度低,无需特殊权限或用户交互即可完成攻击。漏洞对机密性造成高影响,对完整性造成高影响,但可用性不受影响。
该漏洞的影响范围取决于n8n的具体部署方式和配置。在公网暴露的n8n实例中,攻击者可以直接从互联网发起攻击,窃取大量敏感信息。而在内网部署的场景中,攻击者需要先获得内网访问权限。漏洞的成功利用可能导致供应链攻击、横向移动、甚至完整的服务器沦陷。
n8n工作流自动化平台在处理表单提交时存在路径遍历(Path Traversal)漏洞。攻击者可以通过在表单字段中注入特殊的路径序列(如../),配合特定的工作流配置,实现对服务器文件系统的未授权访问。
漏洞的技术原理如下:n8n的表单节点(Form Node)在处理用户提交的数据时,会将表单字段值传递给底层的文件操作函数。如果工作流配置允许直接使用用户输入指定文件路径,或者工作流逻辑中包含动态文件路径构造,攻击者就可以通过精心构造的输入序列访问任意文件。
具体利用方式包括:
1. 攻击者创建一个包含文件读取功能的工作流,或者利用已有的工作流
2. 在表单提交时,通过在文件路径字段中注入路径遍历序列(如../../../../etc/passwd)
3. n8n后端在处理请求时未能正确过滤这些特殊字符
4. 服务器返回目标文件的内容
常见的攻击Payload示例:
- ../../../../etc/passwd
- ../../../../root/.ssh/id_rsa
- ../../../../app/.env
- ..%2F..%2F..%2F..%2Fetc%2Fpasswd(URL编码形式)
该漏洞的根因在于n8n在1.65.0版本引入的某些新功能中,对文件路径的验证和过滤不够严格。开发者可能假设工作流由可信的管理员创建,因此未对路径遍历攻击进行充分防护。然而在实际场景中,攻击者可以通过API或表单直接与工作流交互,绕过预期的安全边界。