• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们
docurl=/cn/Products___Technology/Products/IP_Security/Security_Research/Home/Notice/Notice/202112/1519553_30003_0.htm

YAPI远程代码执行漏洞安全通告

【发布时间:2021-12-30】

威胁预警团队

2021/07/08


1. 漏洞综述

1.1 漏洞背景

YAPI是国内某旅行网站架构组(YMFE团队)开发的可视化接口管理工具,使用mock数据/脚本作为中间交互层,旨在为开发、产品、测试人员提供更优雅的接口管理服务,该系统在国内知名互联网企业中得到广泛应用。近日,新华三攻防实验室威胁预警团队监测到网络上爆发了YAPI远程代码执行漏洞,远程攻击者可通过写入脚本命令,当用户访问接口时可触发命令执行。

1.2 漏洞描述

YAPI中mock脚本通过写JS代码的方式实现处理不同用户的请求并返回对应的内容,用户可以添加任意请求处理脚本。该漏洞存在于YAPI的mock脚本服务上,是由于mock脚本自定义服务未正确过滤JS脚本命令,攻击者可利用该漏洞在服务器提交恶意代码,用户访问接口后可执行任意命令,最终获取服务器权限,从而控制整个服务器。

目前该漏洞利用细节已在互联网公开,且Github中存在大量用户反馈被该漏洞攻击的情况,建议受影响用户及时排查并修复。

1.3 漏洞复现

1)搭建漏洞环境,提交恶意脚本,可成功利用该漏洞实现代码执行。

2. 影响范围

YAPI全版本

3. 严重等级

高危

4. 处置方法

4.1临时解决方案

1、 目前官方暂未漏洞修复补丁,请采取以下临时解决方案以缓解漏洞风险。

1、关闭YAPI用户注册功能;

在"config.json"添加"closeRegister:true"配置项:

{

"port": "*****",

"closeRegister":true

}

修改完成后,重启YAPI服务。

2、暂时关闭mock功能(需要修改YAPI代码);

在"config.json"中添加 "mock: false" ;

在"exts/yapi-plugin-andvanced-mock/server.js"中找到`if (caseData && caseData.case_enable) {...}`,在其上方添加`if(!yapi.WEBCONFIG.mock) {return false;}`。

3、限制白名单IP访问

通过防火墙或其他安全设备限制可信IP访问。

4、检查用户列表,删除恶意不明用户;并删除恶意不明用户创建的接口及mock脚本。

4.2 新华三解决方案

1、新华三安全设备防护方案

新华三IPS规则库将在1.0.139版本支持对该漏洞的识别,新华三全系安全产品可通过升级IPS特征库识别该漏洞的攻击流量,并进行主动拦截。

2、新华三态势感知解决方案

新华三态势感知已支持该漏洞的检测,通过信息搜集整合、数据关联分析等综合研判手段,发现网络中遭受该漏洞攻击及失陷的资产。

3、新华三云安全能力中心解决方案

新华三云安全能力中心知识库已更新该漏洞信息,可查询对应漏洞产生原理、升级补丁、修复措施等。

5. 参考链接

1、https://github.com/YMFE/yapi/issues/2233

新华三官网
联系我们