CVE-2026-0863CVE-2026-0863是n8n工作流自动化平台中的一个高危安全漏洞,攻击者可以利用Python的字符串格式化和异常处理机制绕过python-task-executor沙箱限制,在底层操作系统上执行任意未受限的Python代码。该漏洞的CVSS评分为8.5,属于高危级别,攻击向量为网络,复杂度低,无需用户交互,但需要低权限认证。攻击者通过n8n的Code节点,利用格式化字符串和异常处理中的隐式代码执行特性,可以突破沙箱环境限制。漏洞影响n8n实例的机密性、完整性和可用性,均为高影响。在"Internal"执行模式下运行n8n的实例将面临完全接管的风险,而在"External"执行模式(如官方Docker镜像)下,代码执行发生在Sidecar容器而非主节点,一定程度上降低了危害程度。该漏洞由JFrog安全研究团队的[email protected]发现并报告。
n8n的Python Runner组件使用沙箱环境来隔离用户提交的Python代码执行。然而,该沙箱存在安全缺陷,攻击者可以通过以下技术手段绕过限制:1) 字符串格式化漏洞:利用Python的str.format()、f-string或%格式化操作符的特性,在特定上下文中触发隐式代码执行。例如,通过精心构造的格式化字符串访问__globals__或__builtins__等特殊属性。2) 异常处理逃逸:当Python代码抛出异常时,异常处理机制可能会暴露被沙箱限制的对象或方法。攻击者可以构造特定的异常场景,利用异常对象的属性访问或格式化来获取敏感引用。3) 属性链访问:通过多层属性访问(如obj.__class__.__init__.__globals__)逐步穿透沙箱限制,最终获取到可以执行任意代码的函数引用。4) 代码执行:一旦获得对eval()或exec()等函数的引用,攻击者即可执行任意Python代码,包括系统命令、文件读写、网络通信等操作。该漏洞的利用不需要高级权限,普通认证用户即可通过Code节点发起攻击。