漏洞分析
1 组件介绍
YAPI是由去哪儿网移动架构组(简称YMFE,一群由FE、iOS和Android工程师共同组成的具想象力、创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的、打通前后端及QA的接口管理平台。YAPI旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的API。
2 漏洞描述
2021年7月8日,深信服安全团队监测到一则YAPI组件存在远程代码执行漏洞的信息,漏洞威胁等级:高危。
该漏洞是由于没有针对mock模块输入的内容进行检测,攻击者可利用该漏洞在进行简单的注册之后,构造恶意的JS代码绕过沙盒,最终造成远程代码执行。
影响范围
在世界范围内,YAPI主要部署在中国、土耳其、美国、新加坡等国家也有少量部署。国内主要分布在浙江、北京、广东等地。目前受影响的YAPI版本:YAPI <= 1.9.2
漏洞复现
搭建YAPI组件环境,复现该漏洞,效果如下:
解决方案
1 如何检测组件系统版本
登录站点主页,可在最下方查看组件版本:
2 官方修复建议
该漏洞官方暂未发布补丁,请受影响的用户实时关注官网以获取最新信息。链接如下:https://github.com/YMFE/yapi
3 临时修复建议
1.关闭YAPI注册功能,在config.json文件中新增配置信息"closeRegister:true",完成之后重启YAPI服务。
2.在官方修复之前,暂时关闭mock模块
(1)在config.json文件中新增配置文件"mock:false"
(2)在exts/yapi-plugin-andvanced-mock/server.js文件中,找到"if (caseData && caseData.case_enable){...}",
在它上方添加代码:"if(!yapi.WEBCONFIG.mock){return false;}"
3.及时检查删除恶意账户,同步删除恶意用户创建的接口以及他们上传的恶意mock脚本以防止二次攻击。
4.对YAPI平台的访问进行限制,防止恶意用户进行攻击。
4 深信服解决方案
【深信服下一代防火墙】预计2021年7月14日,可防御此漏洞,建议用户将深信服下一代防火墙开启 IPS防护策略,并更新最新安全防护规则,可轻松抵御此高危风险。
【深信服安全感知平台】预计2021年7月14日,结合云端实时热点高危/紧急漏洞信息,可快速检出业务场景下的该漏洞,并可联动【深信服下一代防火墙等产品】实现对攻击者IP的封堵。