已建站九年的老牌绿色软件站
不忘初心,坚持每日更新不易!

CNNVD关于微信支付官方SDKXXE安全漏洞情况通报预警

近日,国家信息安全漏洞库CNNVD)收到关于微信支付SDK XXE(XML External Entity)漏洞(CNNVD-201807-083)情况的报送。成功利用该漏洞的攻击者可以远程读取服务器文件,获取商户服务器上的隐私数据,甚至可以支付任意金额购买商品。使用有漏洞的Java版本微信支付SDK进行支付交易的商家网站可能受此漏洞影响。目前,微信官方已经发布补丁修复该漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。

CNNVD 关于微信支付官方SDK XXE 漏洞情况的通报预警

一、漏洞介绍

微信支付官方SDK是微信支付官方的软件工具开发包,在使用微信支付时,商家需要向微信提供一个URL用来接收异步支付结果的通知,该接口接受XML格式的数据。XML语言标准支持了与外部进行实体数据交换的特性,如果程序在解析XML时没有限制或关闭该特性,同时外部又可以传入有恶意代码的XML数据就会触发漏洞。微信支付官方提供的SDK由于编码遗漏,未关闭该XML特性。商家在其系统中如果使用该版本SDK,系统便会受漏洞影响。

微信在支付过程中,其Java版本的SDK没有关闭该XML特性,导致攻击者在获取了接收通知的URL地址的前提下,可以通过构造恶意的XML数据包发送到该URL来窃取商家网站服务器上的隐私数据。

二、危害影响

成功利用该漏洞的攻击者可以远程读取服务器文件,获取商户服务器上的隐私数据,甚至可以支付任意金额购买商品。使用有漏洞的Java版本微信支付SDK进行支付交易的商家网站可能受此漏洞影响。

三、修复建议

目前,微信官方已经发布补丁修复该漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施,具体措施如下:

1.如果后台系统使用了官方SDK,请更新SDK到最新版本,链接如下:

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

2.如果有系统提供商,请联系提供商进行核查和升级修复;

3.如果是自研系统,请联系技术部门按以下指引核查和修复:

XXE漏洞需要在代码中进行相应的设置,不同语言设置的内容不同,下面提供了几种主流开发语言的设置指引:

【PHP】

libxml_disable_entity_loader(true);

【JAVA】

不同java组件修复方案不一样,请参考OWASP修复建议:

https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#Java

【.Net】

XmlResolver = null

【Python】

from lxml import etree

xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

【c/c++(常用库为libxml2 libxerces-c)】

【libxml2】:

确保关闭配置选项:XML_PARSE_NOENT 和 XML_PARSE_DTDLOAD

2.9版本以上已修复xxe

【libxerces-c】:

如果用的是XercesDOMParser:

XercesDOMParser *parser = new XercesDOMParser;

parser->setCreateEntityReferenceNodes(false);

如果是用SAXParser:

SAXParser* parser = new SAXParser;

parser->setDisableDefaultEntityResolution(true);

如果是用SAX2XMLReader:

SAX2XMLReader* reader = XMLReaderFactory::createXMLReader();

parser->setFeature(XMLUni::fgXercesDisableDefaultEntityResolution, true);

此外,针对使用XML进行数据交换的网络系统(如:第三方支付平台等),建议相关系统厂商对解析处理XML数据的功能代码进行安全检查,可参考上述方法修复漏洞,及时消除漏洞风险。

本通报由CNNVD技术支撑单位——腾讯计算机系统有限公司、北京长亭科技有限公司、北京华顺信安科技有限公司提供支持。

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

赞(1008)

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看 | 关于我们

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《CNNVD关于微信支付官方SDKXXE安全漏洞情况通报预警》
文章链接:https://www.ypojie.com/4892.html
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。