微信支付SDK XXE误差清静通告

宣布时间 2018-07-03

误差编号和级别


无  高危


影响规模


受影响版本:


JAVA SDK ,WxPayAPI_JAVA_v3


误差概述

微信在JAVA版本的SDK中提供callback回调功效 ,用来资助商家吸收异步付款效果 ,该接口接受XML名堂的数据 ,攻击者可以结构恶意的回调数据(XML名堂)来窃取商家服务器上的任何信息。一旦攻击者获得了要害支付的清静密钥(md5-key和商家信息) ,将可以直接实现0元支付购置任何商品。当XML允许引用外部实体时 ,黑客可以通过结构恶意XML实体文件 ,实现远程读取恣意系统文件、远程执行系统下令等一系列危险操作 ,严重危害商家服务器的系统清静。


XXE (XML External Entity Injection) 误差爆发在应用程序剖析 XML 输入时 ,没有榨取外部实体的加载。是一种针对使用XML交互的Web应用程序的攻击要领。


现在 ,微信官方尚未对SDK举行修复 ,但误差使用信息以及攻击方法已被果真 ,影响规模重大(已经披露出的有陌陌、vivo确认保存该误差) ,建议用到微信支付JAVA SDK的企业连忙开展自查并关注微信官方清静通告。


2018年7月2号 ,该误差在外洋误差披露网站首次宣布:


尊龙凯时 - 人生就是搏!


外地验证截图:


尊龙凯时 - 人生就是搏!


修复建议


期待微信官方升级计划。


用户可使用开发语言提供的禁用外部实体的要领。java禁用外部实体的代码如下:


DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);


参考链接

http://seclists.org/fulldisclosure/2018/Jul/3。