Node.js惊爆重大漏洞
Posted 前端先锋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js惊爆重大漏洞相关的知识,希望对你有一定的参考价值。
点击关注▲一灯科技
知识 | 经验| 资讯 | 资料 四大版块
中国专业的Web前端高端培训机构
来源:http://www.cnvd.org.cn
近日,国家信息安全漏洞共享平台(CNVD)收录了Node.js反序列化远程代码执行漏洞(CNVD-2017-01206,对应)。攻利用漏洞执行远程执行操作系统指令,获得服务器权限。由于目前验证代码已经公开,极有可能诱发大规模网站攻击。
一、漏洞情况分析
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将进一步进行漏洞实际威胁影响的精确评估,做好境内用户的应急响应工作。
三、漏洞修复建议
厂商尚未提供漏洞修补方案,请关注主页更新情况:。同时也可以通过以下临时解决方案加固服务器主机:
1. 修改/node_modules/node-serialize/lib/serialize.js中的FUNCFLAG值为随机值并保证该值不被泄漏。
2. 确保Serialize字符串仅内部发送。
3. 使用公钥(RAS)加密Serialize字符串,确保字符串不被篡改。
附:参考链接:
(已公开的利用过程)
(公开的分析信息)
注:CNVD技术组成员单位杭州安恒信息技术有限公司及时报告了预警信息。
快扫描二维码,与志佳老师来聊聊吧~~
以上是关于Node.js惊爆重大漏洞的主要内容,如果未能解决你的问题,请参考以下文章
漏洞公告Node.js反序列化远程代码执行漏洞通告CVE-2017-5941
重大变化:webpack < 5 用于默认包含 node.js 核心模块的 polyfill