• 中国1.6万个Node.js存在潜在安全风险

    2017-02-14 北京白帽汇科技有限公司

    全球共30余万个由Node.js存在潜在安全风险,点此缓解风险

    近日,国家信息安全漏洞库(CNNVD)收到关于“Node.js访问控制错误漏洞”(CNNVD-201702-345)情况的报送。由于该漏洞影响范围广,危害级别高,国家信息安全漏洞库(CNNVD)对此进行了跟踪分析,情况如下: 

    一、漏洞简介

    Node.js是美国Joyent公司的一套建立在Google V8 JavaScript引擎之上的网络应用平台,node-serialize是其中的一个将对象或函数序列化为JSON的模块。

    Node.js中的node-serialize模块的‘unserialize()’函数存在远程代码执行漏洞(CNNVD-201702-345,CVE-2017-5941)。该漏洞源于该函数未对外部调用的代码进行有效检测,远程攻击者可通过传入恶意数据利用该漏洞,从而执行任意代码。

    二、漏洞危害

    由于实际部署中Node.js运行环境较多为操作系统root权限,远程未授权的攻击者可通过输入恶意代码利用上述漏洞,获得主机权限,从而完全控制服务器,进一步可导致服务器数据遭到恶意泄露甚至被删除等危害。凡使用了node-serialize模块的Node.js所有版本均受此影响。

    根据白帽汇fofa.so系统的统计数据显示,从全球范围来看,目前全球共有30余万个由Node.js搭建的网站。其中,分布情况排在前五名的国家分别为美国(57%)、爱尔兰(7%)、中国(5%)、德国(4.5%)及新加坡(3%)。 

    Nodejs 全球分布范围.png

    图1 Node.js全球分布范围

    从我国范围来看,目前我国共有1.6万个由Node.js搭建的网站,主要分布于浙江(51%),北京(21%),上海(6%)等省市地区。

    Nodejs中国分布范围.png

    图2 Node.js中国分布范围

    三、修复措施

    1、由于相关漏洞利用方式已在互联网上披露,请使用Node.js搭建Web服务或应用的用户,及时检查是否受该漏洞影响。如受影响,可采取以下缓解方案加固服务器主机: 

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

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

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

    2、目前,厂商暂未发布修复措施解决此安全问题,建议受影响用户随时关注厂商主页或CNNVD官方网站以获取解决办法: 

    本通报由CNNVD技术支撑单位——北京白帽汇科技有限公司、杭州安恒信息技术有限公司提供支持。

     CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。

     联系方式: cnnvd@itsec.gov.cn

现在咨询我们
北京白帽汇科技有限公司
服务热线:400-650-2031
联系邮箱:service@baimaohui.net
媒体联络:PR@baimaohui.net
地址:北京顺义区后沙峪国门一号
信息
最新资讯
反馈
FAQ
版权所有 © 北京白帽汇科技有限公司 2016. All Rights Reserved 京ICP备15042518号