平台
nodejs
组件
protobufjs
修复版本
6.11.3
6.11.3
CVE-2022-25878 是 protobufjs 软件包中的原型污染漏洞。该漏洞允许攻击者通过提供不受信任的用户输入或解析 .proto 文件来修改 Object.prototype 的属性,从而可能导致恶意代码执行。受影响的版本包括 6.10.0 及以上,直到 6.10.3,以及 6.11.0 及以上,直到 6.11.3。建议升级到 6.11.3 版本以解决此问题。
原型污染漏洞允许攻击者在 JavaScript 对象原型链上注入恶意属性。在 protobufjs 中,这可能通过 util.setProperty 或 ReflectionObject.setParsedOption 函数的输入,或者通过解析 .proto 文件实现。攻击者可以利用这些修改来覆盖现有属性或添加新的属性,从而改变应用程序的行为。例如,攻击者可能覆盖 Object.prototype.toString 属性,从而影响应用程序的调试和日志记录功能。更严重的情况下,攻击者可能利用原型污染来执行任意代码,从而完全控制受影响的系统。由于 protobufjs 广泛应用于数据序列化和反序列化,因此该漏洞的影响范围可能非常广泛。
目前尚未公开发现针对 CVE-2022-25878 的大规模利用案例。该漏洞已添加到 CISA KEV 目录中,表明其具有中等风险。公开的 PoC 代码已存在,表明攻击者可以利用该漏洞。建议密切关注安全社区的动态,及时采取措施。
Applications built using Node.js that rely on the protobufjs library for data serialization and deserialization are at risk. This includes applications that process data from untrusted sources, such as user-uploaded files or external APIs, and those that parse .proto files without proper validation.
• nodejs / server:
npm list protobufjs• nodejs / server:
npm audit protobufjs• generic web: Inspect application logs for unusual object property modifications or errors related to protobuf parsing. Look for patterns of unexpected property names being added to objects.
disclosure
漏洞利用状态
EPSS
0.42% (62% 百分位)
CVSS 向量
解决 CVE-2022-25878 的主要方法是升级到 protobufjs 6.11.3 或更高版本。如果无法立即升级,可以考虑以下缓解措施:首先,对输入数据进行严格的验证和清理,确保不包含恶意属性。其次,限制 util.setProperty 和 ReflectionObject.setParsedOption 函数的访问权限,只允许受信任的代码调用这些函数。第三,使用 Web 应用程序防火墙 (WAF) 或代理来过滤恶意请求,阻止攻击者利用原型污染漏洞。最后,监控应用程序的日志,查找异常行为,以便及时发现和响应攻击。
将 protobufjs 依赖项升级到 6.11.3 或更高版本。这可以修复原型污染漏洞。执行 `npm install protobufjs@latest` 或 `yarn upgrade protobufjs` 进行升级。
漏洞分析和关键警报直接发送到您的邮箱。
CVE-2022-25878 是 protobufjs 软件包中的一个原型污染漏洞,允许攻击者通过修改 Object.prototype 的属性来影响应用程序的行为。
如果您的应用程序使用了 protobufjs 6.10.0-6.10.3 或 6.11.0-6.11.3 版本,则可能受到影响。
升级到 protobufjs 6.11.3 或更高版本以修复此漏洞。
虽然尚未发现大规模利用案例,但公开的 PoC 代码表明攻击者可以利用该漏洞。
请访问 protobufjs 的 GitHub 仓库或相关安全公告网站以获取更多信息。