CVE-2026-42231n8n是一款开源工作流自动化平台。在1.123.32、2.17.4和2.18.1版本之前,其Webhook处理器使用的xml2js库存在缺陷,允许通过特制XML载荷引发原型污染。拥有工作流修改权限的认证用户可利用此漏洞,通过与Git节点SSH操作的组合,在n8n服务器上执行任意代码。
该漏洞的根源在于n8n在处理Webhook请求时,集成了存在缺陷的xml2js库来解析XML数据。攻击者可以通过精心构造的XML Payload,利用__proto__或constructor.prototype等键名,成功污染JavaScript的核心对象原型。由于JavaScript的原型继承机制,这种污染会影响后续所有基于该原型的对象。在n8n的工作流中,Git节点用于处理SSH操作,其底层实现可能会引用对象属性来构建SSH命令。攻击者首先通过发送恶意XML请求完成原型污染,然后触发包含Git节点的工作流。此时,Git节点在执行过程中会读取被污染的原型属性(如特定的命令选项或参数),导致攻击者预设的恶意代码被服务器执行,从而获取系统控制权。