CVE-2026-44290protobufjs在7.5.6和8.0.2之前的版本中存在安全漏洞。攻击者通过精心构造的protobuf schema或JSON描述符,利用选项处理逻辑中的属性遍历漏洞,能够修改全局JavaScript构造函数的属性。这可能导致进程范围内的内置功能被篡改或破坏,从而影响应用程序的可用性。
该漏洞的核心在于protobufjs库在处理schema选项时的路径解析逻辑不严谨。在受影响版本中,库允许选项路径遍历通过JavaScript对象的原型链。攻击者可以精心构造一个恶意的protobuf schema或JSON描述符,其中包含针对`__proto__`、`constructor`或`prototype`等属性的引用。当protobufjs解析这些选项并尝试应用设置时,由于缺乏有效的边界检查,它会沿着原型链向上查找并最终修改全局构造函数(如Object.prototype)的属性。这种“原型链污染”不仅影响当前对象实例,还会影响所有继承自该原型的对象。虽然本漏洞的CVSS评分主要强调了可用性影响(A:H),可能通过注入导致后续逻辑错误、无限循环或进程崩溃,但在特定上下文中,这类污染也可能进一步导致远程代码执行(RCE)或权限提升。