CVE-2026-34221MikroORM是一个基于Node.js的TypeScript ORM框架。在6.6.10和7.0.6版本之前,其内部使用的Utils.merge辅助函数存在原型污染漏洞。该函数在合并对象结构时,未能有效过滤__proto__、constructor或prototype等特殊属性键。攻击者可以通过控制输入数据,利用此漏洞修改JavaScript对象的原型,进而可能影响应用程序的完整性或可用性。该问题已在后续版本中修复,建议受影响用户尽快升级。
该漏洞的核心在于MikroORM内部使用的Utils.merge辅助函数未能正确处理对象属性键。在JavaScript中,__proto__、constructor和prototype是具有特殊意义的属性,用于操作对象的原型链。当攻击者能够控制传入Utils.merge函数的输入数据时,可以通过构造包含这些特殊键的恶意JSON对象(例如{"__proto__": {"isAdmin": true}})来实施攻击。由于漏洞版本中的合并函数未对这些键名进行过滤或禁止,恶意对象会被合并到目标对象的原型中。一旦原型被污染,应用程序中所有基于该原型的对象都会继承恶意的属性或方法。这可能导致应用程序逻辑被篡改、权限绕过,甚至引发拒绝服务,从而严重威胁系统的完整性和可用性。