EXPLORE
← Back to Explore
splunk_escuTTP

F5 BIG-IP iControl REST Vulnerability CVE-2022-1388

The following analytic detects attempts to exploit the F5 BIG-IP iControl REST API vulnerability (CVE-2022-1388) for unauthenticated remote code execution. It identifies suspicious URI paths and POST HTTP methods, along with specific request headers containing potential commands in the `utilcmdargs` field and a random base64 encoded value in the `X-F5-Auth-Token` field. This activity is significant as it targets a critical vulnerability that can allow attackers to execute arbitrary commands on the affected system. If confirmed malicious, this could lead to full system compromise and unauthorized access to sensitive data.

MITRE ATT&CK

initial-accesspersistence

Detection Query

| tstats `security_content_summariesonly`
         count min(_time) as firstTime
               max(_time) as lastTime
FROM datamodel=Web WHERE
Web.url="*/mgmt/tm/util/bash*"
Web.http_method="POST"
BY Web.http_user_agent Web.http_method
   Web.url Web.url_length
   Web.src Web.dest
| `drop_dm_object_name("Web")`
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `f5_big_ip_icontrol_rest_vulnerability_cve_2022_1388_filter`

Author

Michael Haag, Splunk

Created

2026-03-23

Data Sources

Palo Alto Network Threat

Tags

F5 BIG-IP Vulnerability CVE-2022-1388CISA AA24-241A
Raw Content
name: F5 BIG-IP iControl REST Vulnerability CVE-2022-1388
id: bb1c2c30-107a-4e56-a4b9-1f7022867bfe
version: 8
date: '2026-03-23'
author: Michael Haag, Splunk
status: production
type: TTP
description: |
    The following analytic detects attempts to exploit the F5 BIG-IP iControl REST API vulnerability (CVE-2022-1388) for unauthenticated remote code execution.
    It identifies suspicious URI paths and POST HTTP methods, along with specific request headers containing potential commands in the `utilcmdargs` field and a random base64 encoded value in the `X-F5-Auth-Token` field.
    This activity is significant as it targets a critical vulnerability that can allow attackers to execute arbitrary commands on the affected system.
    If confirmed malicious, this could lead to full system compromise and unauthorized access to sensitive data.
data_source:
    - Palo Alto Network Threat
search: |-
    | tstats `security_content_summariesonly`
             count min(_time) as firstTime
                   max(_time) as lastTime
    FROM datamodel=Web WHERE
    Web.url="*/mgmt/tm/util/bash*"
    Web.http_method="POST"
    BY Web.http_user_agent Web.http_method
       Web.url Web.url_length
       Web.src Web.dest
    | `drop_dm_object_name("Web")`
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `f5_big_ip_icontrol_rest_vulnerability_cve_2022_1388_filter`
how_to_implement: |
    To successfully implement this search, you need to be ingesting web or proxy logs, or ensure it is being filled by a proxy like device, into the Web Datamodel. For additional filtering, allow list private IP space or restrict by known good.
known_false_positives: |
    False positives may be present if the activity is blocked or was not successful. Filter known vulnerability scanners. Filter as needed.
references:
    - https://github.com/dk4trin/templates-nuclei/blob/main/CVE-2022-1388.yaml
    - https://www.randori.com/blog/vulnerability-analysis-cve-2022-1388/
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1388
    - https://twitter.com/da_667/status/1523770267327250438?s=20&t=-JnB_aNWuJFsmcOmxGUWLQ
    - https://github.com/horizon3ai/CVE-2022-1388/blob/main/CVE-2022-1388.py
drilldown_searches:
    - name: View the detection results for - "$dest$"
      search: '%original_detection_search% | search  dest = "$dest$"'
      earliest_offset: $info_min_time$
      latest_offset: $info_max_time$
    - name: View risk events for the last 7 days for - "$dest$"
      search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$") starthoursago=168  | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
      earliest_offset: $info_min_time$
      latest_offset: $info_max_time$
rba:
    message: An attempt to exploit CVE-2022-1388 against an F5 appliance $dest$ has occurred.
    risk_objects:
        - field: dest
          type: system
          score: 50
    threat_objects: []
tags:
    analytic_story:
        - F5 BIG-IP Vulnerability CVE-2022-1388
        - CISA AA24-241A
    asset_type: Web Server
    cve:
        - CVE-2022-1388
    mitre_attack_id:
        - T1190
        - T1133
    product:
        - Splunk Enterprise
        - Splunk Enterprise Security
        - Splunk Cloud
    security_domain: network
tests:
    - name: True Positive Test
      attack_data:
        - data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1190/f5/f5.log
          source: not_applicable
          sourcetype: pan:threat