CVE-2026-41690i18next-http-middleware 是一个用于 Node.js Web 框架(如 Express 或 Fastify)以及 Deno 的中间件。在 3.9.3 版本之前,该中间件存在原型污染漏洞。未经身份验证的攻击者可以通过 `getResourcesHandler` 和 `missingKeyHandler` 两个未经验证的入口点,向托管该中间件的 Node.js 进程中的 `Object.prototype` 注入恶意属性。此漏洞可能导致授权检查失效(例如使任何用户的 `user.isAdmin` 返回 true)、类型混淆拒绝服务,甚至在特定条件下被利用链进一步组合导致远程代码执行(RCE)。
该漏洞源于 i18next-http-middleware 在处理特定 HTTP 请求时,未能有效过滤用户提供的输入数据,导致攻击者可以通过 `getResourcesHandler` 和 `missingKeyHandler` 这两个入口点触发不安全的对象属性赋值。由于 JavaScript 的原型继承机制,攻击者可以通过发送包含 `__proto__` 或 `constructor.prototype` 等特殊键的恶意 JSON 数据,修改 `Object.prototype` 对象。一旦原型被污染,所有在该 Node.js 进程中创建的 JavaScript 对象都将继承被注入的恶意属性。这种机制常被用于绕过安全检查,例如将 `isAdmin` 属性注入原型,使得 `if (user.isAdmin)` 这样的权限校验逻辑失效,从而让未授权用户获得管理员权限。此外,攻击者还可以利用类型混淆导致应用程序崩溃(DoS),或在满足特定条件下,结合其他漏洞链实现远程代码执行(RCE),从而完全控制服务器。