1、基本情况
YAPI 是由去哪儿网移动架构组(简称 YMFE,一群由 FE、iOS 和 Android 工程师共同组成的具想象力、创造力和影响力的大前端团队)开发的可视化接口管理工具,是一个可本地部署的、打通前后端及 QA 的接口管理台。YAPI 旨在为开发、产品和测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布和维护不同项目,不同平台的 API。
近日,监测发现一则 YAPI 组件存在远程代码执行漏洞的信息。该漏洞是由于没有针对 mock 模块输入的内容进行检测,攻击者可利用该漏洞在进行简单的注册之后,构造恶意的 JS 代码绕过沙盒,最终造成远程代码执行。
对此,建议广大用户做好资产自查以及预防工作,以免遭受黑客攻击。
2、影响范围
受影响版本
⚫ YAPI <= 1.9.2
3、处置建议
修补建议:
该漏洞官方暂未发布补丁,请受影响的用户实时关注官网以获取最新信息。
链接如下:https://github.com/YMFE/yapi
临时修复建议
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;}"
以关闭 mock 模块。
3.及时检查删除恶意账户,同步删除恶意用户创建的接口以及他们上传的恶意 mock 脚本以防止二次攻击。
4.对 YAPI 平台的访问进行限制,防止恶意用户进行攻击。
4、参考链接
1) https://github.laobiao.workers.dev/YMFE/yapi/issues/2233