当前位置: 首页 > news >正文

Cyera 披露 protobuf.js 六个漏洞,波及软件供应链,建议打补丁应对

【Cyera 发现 protobuf.js 漏洞】

Cyera 的研究人员在 protobuf.js 中发现了六个漏洞,其中一个缺陷能将攻击者控制的模式数据转化为可执行代码,从而危及下游软件供应链。图片来源:Gorodenkoff / Shutterstock

谷歌 Protocol Buffers 格式的一个广泛使用的 JavaScript 实现对不可信数据过度信任,使受影响的应用程序面临远程代码执行和其他攻击的风险。Cyera 的研究人员披露了影响 “protobuf.js” 的六个漏洞,这些漏洞均源于该库对模式和元数据的处理。攻击者可以利用输入验证方面的疏忽,插入恶意数据并影响应用程序的行为。

Protocol Buffers 是一种以紧凑、结构化的格式打包数据的技术,旨在简化不同应用程序之间的信息交换。据报道,protobuf.js 库每周的下载量超过 5000 万次。它通常通过 gRPC 工具、谷歌云库和其他框架等依赖项间接引入应用程序,这使得组织难以追踪。研究人员披露了六个 CVE,涵盖远程代码执行、拒绝服务(DoS)条件、原型污染、原型注入和代码生成问题。

Cyera 研究人员 Assaf Morag 和 Vladimir Tokarev 在一篇博客文章中表示:“虽然利用这些漏洞通常需要特定条件,但在经常跨服务、存储库、云平台和第三方集成交换数据、模式和配置文件的数据和 AI 生态系统中,这些条件越来越常见。”

针对 protobuf.js 和该项目的命令行代码生成工具 protonufjs - cli,均已提供补丁。

【可编写代码的元数据】

最严重的漏洞是一个代码生成缺陷,编号为 CVE - 2026 - 44291。据 Cyera 称,protobuf.js 会动态生成编码器和解码器函数,并使用 JavaScript 的 Function() 构造函数进行编译。在特定条件下,攻击者可以操纵从模式派生的信息,使原本用于描述消息的数据变成可执行代码。研究人员展示了一个攻击链,其中利用原型污染欺骗 protobuf.js,使其将攻击者控制的值视为合法的 protobuf 类型。这些值随后被整合到生成的代码中,并在 Node.js 进程中执行。

这种影响不仅局限于运行时应用程序。另一个代码注入问题(编号为 CVE - 2026 - 44295)影响 pbjs 命令行工具,精心设计的模式名称可以嵌入到生成的 JavaScript 文件中,并在这些文件后续被导入时执行。虽然成功利用这些漏洞需要特定的先决条件,例如能够影响 protobuf 模式或描述符,但研究人员指出,现代软件越来越多地跨存储库、云环境、API 和第三方集成交换模式、描述符和配置文件,这使得这些假设的限制比以往更小。

【其他漏洞】

其余的漏洞严重程度相对较低。研究人员发现了一个原型注入(CVE - 2026 - 44292)缺陷,该缺陷可以通过篡改继承的对象属性来改变应用程序的行为,还有拒绝服务(DoS)漏洞(CVE - 2026 - 44289、CVE - 2026 - 44290 和 CVE - 2026 - 44294),这些漏洞可以通过恶意构造的输入使应用程序崩溃或耗尽其资源。

【建议打补丁以应对供应链风险】

研究人员指出,protobuf.js 通常作为传递依赖被使用,这意味着组织可能在未意识到其软件栈中存在该库的情况下受到影响。随着模式在自动化开发管道和软件供应链中流动,传统上被视为被动数据的组件可能成为攻击途径。他们解释说:“开发团队通常会接受代码贡献、集成第三方组件,并通过 CI/CD 管道自动处理文件。我们发现,在某些条件下,恶意的 protobuf 模式可能会被引入这个工作流程,并最终在受信任的构建环境中执行。” 他们补充说,这一阶段的安全漏洞可能会对产品、客户和业务运营产生下游影响。

这些漏洞影响 protobuf.js 7.5.5 及更早版本,以及 8.0.0 和 8.0.1 版本,同时也影响 protobuf.js - cli 的易受攻击版本。protobuf.js 7.5.6 和 8.0.2 版本已提供补丁,建议 protobuf.js - cli 用户升级到 1.2.1 或 2.0.2 版本。那么,组织该如何更好地防范此类漏洞呢?

http://www.gsyq.cn/news/1495976.html

相关文章:

  • 别再为GEE注册发愁了!手把手教你搞定Google Earth Engine账号(附最新手机验证解决方案)
  • 软考网络工程师备考:用eNSP搞定华为设备实验,从静态路由到防火墙配置保姆级教程
  • 终于等到!2026免费PDF转换器全功能详解:转Word、转Excel、转PPT、转图片、压缩,一篇足够 - 时时资讯
  • 《全域数学》第一部·数术 第五卷 算子数学与泛函原本
  • G-Helper终极降压指南:AMD CPU温度直降15℃的完整解决方案
  • Meta 漏洞致 20225 个 Instagram 账户被劫持,知名账号受影响
  • 大模型高薪就业指南:小白也能入门的AI黄金赛道,速收藏!
  • APK版本选择完全指南——beta/stable/arm64/x86/bundle/universal怎么选?
  • 苏州姑苏区高新技术企业认定的条件和优惠政策
  • GhostTrack终极指南:如何通过开源工具实现精准数字追踪
  • NXP S12X微控制器XGATE驱动库实战:资源评估与集成指南
  • 论文党必备:手把手教你用MathType为Word公式添加‘右编号’,从此引用公式不再愁
  • Kaiwa: 一个开源的WebRTC聊天应用,让沟通更自由
  • AI基础设施与传统基础设施的区别:程序员如何将技术栈和方法论迁移至AI系统架构设计(收藏版)
  • 告别信号干扰!LVDS差分信号PCB布局布线实战避坑指南(附SI9000阻抗计算)
  • 2026年AI写作辅助网站测评:5款神器从文献到降重一站式避坑指南
  • appium的元素定位(你可以知道最新的元素定位的写法)
  • PyCharm安装包报错?试试绕过它的图形界面:手把手教你用Terminal搞定一切依赖
  • 保姆级教程:在Windows/Linux上快速下载并验证nuScenes数据集(附完整文件结构解析)
  • 从数据手册到实战:Kinetis KL15 ADC/DAC/SPI电气特性深度解析与设计指南
  • 2026成都市温江区家里卫生间漏水、阳台漏水、楼顶漏水、阳台漏水、地下室渗水、阳光房漏水各种房屋漏水情况不用愁!本地防水补漏公司为您排忧解难!精准推荐附近专业防水团队 - 防水百科
  • 【Springboot毕设全套源码+文档】基于SpringBoot的校园网故障管理系统(丰富项目+远程调试+讲解+定制)
  • VBA-RunPE实战案例:构建免杀PowerShell后门的完整步骤
  • 2026济南市平阴县家里卫生间漏水、阳台漏水、楼顶漏水、阳台漏水、地下室渗水、阳光房漏水各种房屋漏水情况不用愁!本地防水补漏公司为您排忧解难!精准推荐附近专业防水团队 - 防水百科
  • CentOS版Linux安装python3.8或python3.10.0详细过程
  • M4 芯片与 24GB 内存:本地大模型推理的“黄金平衡点”深度解析
  • WarcraftHelper终极指南:如何让魔兽争霸3焕发新生
  • JBZoo/Utils:PHP开发者必备的终极工具库完全指南
  • 终极指南:5步掌握League Director打造英雄联盟史诗级游戏视频
  • AI大模型开发第三阶段Day05【Python数据分析开源库和环境搭建、Jupyter Notebook、Numpy】