F5 BIG-IP 权限绕过命令执行漏洞(CVE-2022-1388)分析
字数 1304 2025-08-12 12:46:02
F5 BIG-IP 权限绕过命令执行漏洞(CVE-2022-1388)深度分析与复现指南
漏洞概述
CVE-2022-1388是F5 BIG-IP设备中iControl REST组件存在的一个高危漏洞,允许攻击者绕过身份验证执行任意系统命令。该漏洞结合了认证绕过和HTTP协议特性滥用,最终可导致远程代码执行。
受影响版本
- BIG-IP 16.x: 16.1.0 - 16.1.2
- BIG-IP 15.x: 15.1.0 - 15.1.5
- BIG-IP 14.x: 14.1.0 - 14.1.4
- BIG-IP 13.x: 13.1.0 - 13.1.4
- BIG-IP 12.x: 12.1.0 - 12.1.6
- BIG-IP 11.x: 11.6.1 - 11.6.5
环境搭建
下载与安装
- 从F5官网下载受影响版本的OVA虚拟机包
- 导入虚拟机到VMware等虚拟化平台
- 部署时建议分配较大资源(根据主机配置)
- 启动虚拟机后使用默认凭证登录:
- 用户名:
root - 密码:
default - 首次登录需强制修改密码
- 用户名:
- 配置网络:
- 使用
ifconfig mgmt查看管理口IP - 或使用
config命令配置IP
- 使用
- 通过浏览器访问
https://<IP>验证安装
漏洞分析
认证流程分析
F5 BIG-IP的认证流程涉及两个关键组件:
- Apache前端:使用mod_pam_auth.so模块进行初步检查
- Jetty后端:处理实际的身份验证逻辑
认证绕过原理
漏洞利用了两个关键点:
-
Apache检查逻辑:
- 检查
X-F5-Auth-Token头是否存在且不为空 - 如果存在且不为空,则转发请求到Jetty
- 检查
-
Jetty检查逻辑:
- 检查
X-F5-Auth-Token的值是否合法 - 如果头不存在或为空,则跳过Token验证
- 检查
Hop-by-Hop头滥用
利用HTTP协议的Connection头特性:
- 当请求包含
Connection: close, X-F5-Auth-Token时 - Apache会在转发前删除
X-F5-Auth-Token头 - 导致:
- Apache检查时:头存在且不为空(通过检查)
- Jetty接收时:头已被删除(绕过检查)
本地主机特权
在com.f5.rest.common.RestOperationIdentifier#setIdentityFromBasicAuth中:
- 当Host为
localhost或127.0.0.1时 - 系统会赋予用户身份特权
- 实际利用需添加
X-Forwarded-Host头绕过此限制
漏洞复现步骤
- 访问漏洞接口:
/mgmt/tm/util/bash - 使用Basic认证:
- 用户名:
admin - 密码:空
- 用户名:
- 构造特殊HTTP头:
Connection: Keep-Alive, X-F5-Auth-Token X-F5-Auth-Token: anything X-Forwarded-Host: localhost - 发送POST请求执行命令:
{ "command": "run", "utilCmdArgs": "-c 'id'" }
漏洞修复建议
- 立即升级到不受影响的版本
- 临时缓解措施:
- 限制访问iControl REST接口
- 禁用BIG-IP管理接口的外部访问
- 实施网络层访问控制