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

环境搭建

下载与安装

  1. 从F5官网下载受影响版本的OVA虚拟机包
  2. 导入虚拟机到VMware等虚拟化平台
    • 部署时建议分配较大资源(根据主机配置)
  3. 启动虚拟机后使用默认凭证登录:
    • 用户名:root
    • 密码:default
    • 首次登录需强制修改密码
  4. 配置网络:
    • 使用ifconfig mgmt查看管理口IP
    • 或使用config命令配置IP
  5. 通过浏览器访问https://<IP>验证安装

漏洞分析

认证流程分析

F5 BIG-IP的认证流程涉及两个关键组件:

  1. Apache前端:使用mod_pam_auth.so模块进行初步检查
  2. Jetty后端:处理实际的身份验证逻辑

认证绕过原理

漏洞利用了两个关键点:

  1. Apache检查逻辑

    • 检查X-F5-Auth-Token头是否存在且不为空
    • 如果存在且不为空,则转发请求到Jetty
  2. 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为localhost127.0.0.1
  • 系统会赋予用户身份特权
  • 实际利用需添加X-Forwarded-Host头绕过此限制

漏洞复现步骤

  1. 访问漏洞接口:/mgmt/tm/util/bash
  2. 使用Basic认证:
    • 用户名:admin
    • 密码:空
  3. 构造特殊HTTP头:
    Connection: Keep-Alive, X-F5-Auth-Token
    X-F5-Auth-Token: anything
    X-Forwarded-Host: localhost
    
  4. 发送POST请求执行命令:
    {
      "command": "run",
      "utilCmdArgs": "-c 'id'"
    }
    

漏洞修复建议

  1. 立即升级到不受影响的版本
  2. 临时缓解措施:
    • 限制访问iControl REST接口
    • 禁用BIG-IP管理接口的外部访问
    • 实施网络层访问控制

参考资源

  1. HTTP Hop-by-Hop头滥用分析
  2. F5官方下载中心
  3. 漏洞技术分析文章1
  4. 漏洞技术分析文章2
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头: 发送POST请求执行命令: 漏洞修复建议 立即升级到不受影响的版本 临时缓解措施: 限制访问iControl REST接口 禁用BIG-IP管理接口的外部访问 实施网络层访问控制 参考资源 HTTP Hop-by-Hop头滥用分析 F5官方下载中心 漏洞技术分析文章1 漏洞技术分析文章2