【安全资讯】Protobuf.js库存在严重漏洞,可导致JavaScript代码执行
概要:
近日,广泛使用的Google Protocol Buffers JavaScript实现库protobuf.js曝出一个严重的远程代码执行漏洞。该库在Node Package Manager (npm)注册表中极为流行,每周下载量近5000万次,用于服务间通信、实时应用以及数据库和云环境中的结构化数据高效存储。此漏洞允许攻击者通过恶意模式注入任意代码,对依赖该库的服务器和应用构成严重威胁。主要内容:
应用安全公司Endor Labs在报告中指出,该远程代码执行漏洞源于不安全的动态代码生成机制。具体而言,protobuf.js库通过拼接字符串并使用Function()构造函数来从protobuf模式构建JavaScript函数,但未能对源自模式的标识符(如消息名称)进行验证。攻击者可借此提供一个恶意模式,将任意代码注入到生成的函数中。当应用程序使用该模式处理消息时,注入的代码便会执行。这为在加载受攻击者影响模式的服务器或应用程序上实现远程代码执行打开了大门,可能导致环境变量、凭证、数据库和内部系统被访问,甚至允许攻击者在基础设施内横向移动。
该漏洞影响protobuf.js 8.0.0/7.5.4及更低版本。维护者已发布修复版本8.0.1和7.5.5,其补丁通过剥离非字母数字字符来清理类型名称,从而阻止攻击者闭合合成函数。Endor Labs建议除了升级到已修复版本外,系统管理员还应审计传递依赖项,将模式加载视为不受信任的输入,并在生产环境中优先使用预编译/静态模式。
尽管概念验证代码已公开,且利用过程直接,但截至目前尚未观察到在野的主动利用。安全研究人员于3月2日报告此漏洞,维护者于3月11日在GitHub发布补丁,相应的npm包修复版本分别于4月4日(8.x分支)和4月15日(7.x分支)提供。
0条评论
看了这么久,请
登录
,对他说点啥~
0
0
分享
微信扫一扫分享



