CVE-2026-35477InvenTree 1.2.3至1.2.6版本存在沙箱绕过漏洞。由于验证器与渲染器使用的Jinja2环境不一致,且验证逻辑存在差异,拥有员工权限的攻击者可构造恶意模板绕过验证并执行任意代码。
该漏洞的核心在于Jinja2模板引擎在验证与渲染阶段的环境不一致性。在修复CVE-2026-27629时,开发者仅将验证器升级为`jinja2.sandbox.SandboxedEnvironment`,却遗漏了`part/helpers.py`中的实际渲染器,后者仍使用非沙箱的`jinja2.Environment`。更关键的是,验证器使用`pk=None`的虚拟Part实例,而渲染时使用真实实例,这导致条件模板表达式在两个阶段行为迥异。拥有员工权限的攻击者可利用这一逻辑漏洞,构造特定的恶意模板载荷。该载荷在通过沙箱验证时看似无害,但在实际渲染时,由于绕过了沙箱限制,将直接解析并执行任意Python代码,导致远程代码执行(RCE)。