【漏洞预警】关于Node.js漏洞情况的通报

admin 2022-10-09 21:45:34 CNNVD预警 来源:ZONE.CI 全球网 0 阅读模式
       近日,国家信息安全漏洞库(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%)。

图1 Node.js全球分布范围

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

 

图2 Node.js中国分布范围

三、修复措施

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

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

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

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

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

        厂商主页链接:https://nodejs.org/

        CNNVD安全漏洞链接:http://www.cnnvd.org.cn/vulnerability/show/cv_id/2017020345

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

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

        联系方式: [email protected]                                                      

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0