专栏首页京程一灯Node.js惊爆重大漏洞

Node.js惊爆重大漏洞

作者:CNVD 来源:http://www.cnvd.org.cn

近日,国家信息安全漏洞共享平台(CNVD)收录了Node.js反序列化远程代码执行漏洞(CNVD-2017-01206,对应 CVE-2017-594)。攻利用漏洞执行远程执行操作系统指令,获得服务器权限。由于目前验证代码已经公开,极有可能诱发大规模网站攻击。

一、漏洞情况分析

Node.js是一个Javascript运行环境(runtime),对Google V8引擎进行了封装。Node.js同时也是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建快速响应、易于扩展的网络应用。

Node.js反序列化模块node-serialize库中的unserialize()函数未做安全处理,该漏洞通过传递调用JavaScriptIIFE函数表达式的方式实现远程任意代码执行的效果。攻击者可通过远程攻击获得当前服务器运行环境权限,由于实际部署中node.js运行环境较多为操作系统root权限,因此可完全控制服务器主机。CNVD对该漏洞的综合评级为“高危”。目前,相关利用方式已经在互联网上公开,近期出现攻击尝试爆发的可能。

二、漏洞影响范围

根据漏洞研究者测试结果,由于涉及IIFE函数表达式,漏洞影响到Node.js现有的所有版本。根据CNVD秘书处的普查结果,目前互联网上直接标定使用node.js运行环境的服务器约有6.8万余台,其中排名前五名的国家和地区是美国(占比58.9%)、中国(23.2%)、英国(4.1%)、荷兰(3.6%)、德国(3.0%)。由于一个应用广泛的名为Express的WEB应用开发框架是基于node.js运行环境的,根据CNVD秘书处初步普查结果,受该漏洞影响的网站服务器有可能超过70万台,后续CNVD将进一步进行漏洞实际威胁影响的精确评估,做好境内用户的应急响应工作。

三、漏洞修复建议

厂商尚未提供漏洞修补方案,请关注主页更新情况:https://github.com/luin/serialize。同时也可以通过以下临时解决方案加固服务器主机:

1. 修改/node_modules/node-serialize/lib/serialize.js中的FUNCFLAG值为随机值并保证该值不被泄漏。

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

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

附:参考链接:

https://youtu.be/GFacPoWOcw0(已公开的利用过程)

https://www.exploit-db.com/docs/41289.pdf(公开的分析信息)

http://www.cnvd.org.cn/flaw/show/CNVD-2017-01206

注:CNVD技术组成员单位杭州安恒信息技术有限公司及时报告了预警信息。


快扫描二维码,与志佳老师来聊聊吧~~

本文分享自微信公众号 - 京程一灯(jingchengyideng)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Node.js 究竟是什么?

    Node.js 是一个 JavaScript 运行时环境。听起来还不错,不过这究竟意味着什么?它又是如何运作的?

    疯狂的技术宅
  • 一文看懂 Node.js 中的多线程和多进程[每日前端夜话0x107]

    Node.js 是一个免费的跨平台 JavaScript 运行时环境,尽管它本质上是单线程的,但是可以在后台使用多个线程来执行异步代码。

    疯狂的技术宅
  • JS 和 Node.js 中的“事件驱动”是什么意思?[每日前端夜话0x106]

    事件驱动架构是建立在软件开发中一种通用模式上的,这种模式被称为发布-订阅或观察者模式。

    疯狂的技术宅
  • 脑电研究:婴儿睡眠状态间的大尺度脑模态重组为早产提供预测信息

    睡眠结构承载着整个生命周期中大脑健康的重要信息。明确表达警戒状态的能力是新生儿神经健康状况的一个重要生理标志,但其机制仍不清楚。来自澳大利亚和芬兰的学者在NAT...

    用户1279583
  • iOS·CityPickerView省市区选择器出现奔溃纪实:三栏联动的时数据源数组越界(Xcode奔溃调试技巧)

    这里记录修复这种bug的一种方案。首先看看出问题的源代码,然后指出问题所在,并给出修复方案。

    陈满iOS
  • springcloud vue 微服务分布式 activiti工作流 前后分离 集成代码生成器 shiro权限

    博文来源:http://www.fhadmin.org/webnewsdetail13.html

    FH-Admin
  • 前端圈的寒冬要来?

    (上图为便利蜂某前端实习生) 前言 前段时间,有个粉丝在后台给我留言,问我今年(2017年)新手前端是否真的很难找工作?作为混迹前端圈的老司机,我竟一时语塞。思...

    闰土大叔
  • AI研习社「求翻译」功能上线啦~快来上传文章和视频吧!

    当你埋头苦学的日日夜夜,一定有啃过艰深枯燥的学术论文,却苦于自己的英语不够好而不得不比旁人多花几倍时间。当你面对国外最新发布的研究成果,一定也想过第一时间获取资...

    AI科技评论
  • 干货 | 作为前端,工作中处理过什么复杂的需求,如何解决的?

    ? ? (多图预警)聊一聊当下发生的事情吧。疫情期间大家都在享受延长假期的福利,吐槽在家办公的不爽,而我们则从过年开始就一直在战斗,到现在还没有好好休息过。 ...

    腾讯NEXT学位
  • Python生成器的使用技巧详解

    之前我们介绍了列表解析式,他的优点很多,比如运行速度快、编写简单,但是有一点我们不要忘了,他是一次性生成整个列表。如果整个列表非常大,这对内存也同样会造成很大压...

    Python中文社区

扫码关注云+社区

领取腾讯云代金券