全部产品
Search
文档中心

【漏洞公告】CVE-2017-5941:Node.js反序列化远程代码执行漏洞

更新时间: 2018-05-10

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行效果更加优秀。

Node.js存在反序列化远程代码执行漏洞。Node.js的node-serialize库中存在一个漏洞,该漏洞通过传输JavaScript IIFE,利用恶意代码(未信任数据)达到反序列化远程任意代码执行的效果。

漏洞详情见下文。


漏洞编号

CVE-2017-5941

漏洞名称

Node.Js反序列化远程代码执行

官方评级

高危

漏洞描述

Node.js存在反序列化远程代码执行漏洞。Node.js的node-serialize库中存在一个漏洞,该漏洞通过传输JavaScript IIFE,利用恶意代码(未信任数据)达到反序列化远程任意代码执行的效果。Nodejs服务端必须存在接收序列化的数据接口。

漏洞利用条件和方式

系统存在Node.js,并且存在node-serialize库,可以远程利用该漏洞执行代码。

漏洞影响范围

Node.js全版本受影响

漏洞修复建议(或缓解措施)

厂商尚未提供漏洞修补方案,请关注厂商主页及时更新。

临时解决方案:

  • 修改/node_modules/node-serialize/lib/serialize.js中的FUNCFLAG值为随机值,并保证该值不被泄漏。
  • 确保Serialize字符串仅内部发送。
  • 使用公钥(RAS)加密Serialize字符串,确保字符串不被篡改。

情报来源

[1]. http://www.ywclub.org/?p=819
[2]. https://github.com/luin/serialize