← Back to Feed CACHED · 2026-09-23 09:38:49 · CACHE_KEY CVE-2026-94127
CVE-2026-94127 · CWE-122 · Disclosed 2026-09-22

When a BIG-IP APM access policy and an OAuth profile is configured on a virtual server

ASSESSED — NOISGATE
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone left the vault door's combination lock on a Post-it, and burglars already found it

CVE-2026-94127 is a heap-based buffer overflow (CWE-122) in the F5 BIG-IP Access Policy Manager (APM) OAuth Authorization Server profile processing path. When a virtual server is configured with both an APM access policy and an OAuth profile operating as an Authorization Server, the OAuth handling logic writes attacker-controlled data into a heap allocation without validating input size. The overrun corrupts adjacent heap memory, and a skilled attacker can manipulate the corrupted region to hijack control flow inside the Traffic Management Microkernel (TMM), converting the memory corruption into unauthenticated remote code execution. Affected versions are BIG-IP 21.1.0, 17.5.0–17.5.1, and 17.1.0–17.1.3. Deployments using APM only as an OAuth Client or Resource Server — without an OAuth Authorization Server profile — are not affected. This is a data-plane vulnerability; restricting the management interface or enabling Appliance mode provides no protection.

F5's CRITICAL / 9.8 rating is accurate and, if anything, conservative given the real-world context. The vendor CVSS vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) correctly reflects that this is an unauthenticated, low-complexity, network-reachable RCE with full CIA impact. F5 confirmed active exploitation as a zero-day before patches were available, and CISA immediately added it to the KEV catalog on September 22 with a 3-day remediation deadline for federal agencies. Shadowserver tracks over 14,700 IP addresses with BIG-IP APM fingerprints on the public internet. BIG-IP APM sits at the network perimeter as an authentication gateway — a compromised appliance exposes every application routed through it, making this one of the most dangerous CVEs disclosed this quarter.

"Actively exploited zero-day RCE on your perimeter auth gateway. Patch now."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Reconnaissance — Identify OAuth-enabled BIG-IP APM targets

The attacker uses Shodan, Censys, or FOFA queries (e.g., http.favicon.hash:-335242539 or Server: BigIP) to enumerate internet-facing BIG-IP instances. They then fingerprint which instances serve OAuth endpoints by probing for standard OAuth Authorization Server paths (/f5-oauth2/v1/authorize, /f5-oauth2/v1/token). Shadowserver currently tracks over 14,700 BIG-IP APM-fingerprinted IPs.
Conditions required:
  • Internet access and a search engine like Shodan/Censys
Where this breaks in practice:
  • Not all 14,700+ BIG-IP APM instances are configured as OAuth Authorization Servers — the vulnerable feature is a subset of APM deployments
Detection/coverage: Shodan/Censys monitoring for your own assets; external attack surface management (ASM) tools like runZero, Qualys EASM, or CrowdStrike Falcon Surface
STEP 02

Craft malicious OAuth request to trigger heap overflow

The attacker constructs a specially crafted HTTP request targeting the OAuth Authorization Server endpoint on the BIG-IP virtual server. The payload includes oversized or malformed OAuth parameters that exploit the lack of input-size validation in the OAuth profile handling logic. The data is written into a heap allocation inside the TMM process, overflowing the allocated buffer. No authentication, credentials, or user interaction is required.
Conditions required:
  • Network reachability to the BIG-IP virtual server data plane (not management plane)
  • Target must have APM access policy + OAuth Authorization Server profile configured
Where this breaks in practice:
  • The specific heap layout must be favorable for exploitation — heap grooming may be required for reliable code execution
  • No public proof-of-concept exists as of September 23, 2026 — current exploitation appears limited to sophisticated actors
Detection/coverage: WAF rules inspecting OAuth parameter sizes; F5 iRule mitigation (available from F5 Support) blocks the malicious input pattern
STEP 03

Corrupt adjacent heap memory and hijack TMM control flow

The heap overflow corrupts memory structures adjacent to the target allocation inside the TMM process. By controlling the contents of the overwritten region, the attacker manipulates function pointers or vtable entries to redirect TMM's execution flow. The TMM process handles all data-plane traffic and runs with elevated privileges on the appliance. Appliance mode does not mitigate this — it restricts administrative operations, not data-plane traffic handling.
Conditions required:
  • Successful heap overflow from step 2
  • Knowledge of TMM heap layout for the target BIG-IP version
Where this breaks in practice:
  • Heap-based exploitation can be unreliable — failed attempts may crash TMM (observable as SIGABRT in logs)
  • Different BIG-IP versions and patch levels may have different heap layouts requiring per-version exploit tuning
Detection/coverage: Monitor for TMM SIGABRT crashes in /var/log/ltm; correlate with OAuth authentication failures in /var/log/apm — ten or more invalid-token messages followed by a TMM crash is a strong indicator of compromise
STEP 04

Achieve code execution on the BIG-IP appliance

With control flow hijacked, the attacker executes arbitrary code in the context of the TMM process on the BIG-IP appliance. From this position, the attacker has full access to the appliance's filesystem, configuration, certificates, and credentials. They can observe and modify all in-transit traffic flowing through the compromised virtual server, including authentication tokens, session cookies, and OAuth grants.
Conditions required:
  • Successful control-flow hijack from step 3
Where this breaks in practice:
  • None — once control flow is achieved, the attacker has unrestricted access to the appliance
Detection/coverage: Post-exploitation indicators include unauthorized configuration changes, new or modified iRules, unexpected outbound connections, and modified SSL certificates; run tmsh list sys provision and diff against known-good baselines
STEP 05

Lateral movement and credential harvesting

The compromised BIG-IP sits in a trusted network position between external users and internal applications. The attacker harvests OAuth tokens, SAML assertions, session cookies, and potentially backend service account credentials from traffic and configuration. They pivot to internal application tiers, identity providers, and backend databases that trust the BIG-IP's network position. One exploited appliance can expose every application routed through it.
Conditions required:
  • Code execution on BIG-IP from step 4
  • Internal services that trust the BIG-IP network segment
Where this breaks in practice:
  • Network microsegmentation between BIG-IP and backend tiers may limit lateral movement
  • Zero-trust architectures with mutual TLS between BIG-IP and backends reduce the blast radius
Detection/coverage: Monitor for anomalous traffic originating from BIG-IP management or self-IPs to internal segments; SIEM correlation of BIG-IP source traffic to unusual internal destinations; inspect BIG-IP for unauthorized SSH keys or cron jobs
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationConfirmed active exploitation. F5 stated *"We have learned that this vulnerability has been exploited"* — discovered internally and disclosed as a zero-day. No specific threat actor attribution yet. (BleepingComputer, SecurityWeek)
CISA KEV StatusAdded September 22, 2026. BOD 26-04 deadline: September 25, 2026 (3 days). Federal agencies ordered to apply iRule mitigation immediately, then install vendor hotfix. (CISA Alert)
Proof-of-ConceptNo public PoC as of September 23, 2026. No exploit code indexed in Exploit-DB, Metasploit, GitHub PoC repositories, or Nuclei templates. Current exploitation appears limited to actors with private exploit development capability.
EPSS ScoreNot yet computed — FIRST.org EPSS is still processing this newly disclosed identifier. Given KEV listing and active exploitation, treat as near-certain exploitation probability regardless of EPSS.
CVSS v3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — 9.8 CRITICAL. CVSS v4.0 score: 9.3. Network-reachable, no auth, no interaction, full CIA impact. Scope is Unchanged because execution remains within the BIG-IP appliance context.
Affected VersionsBIG-IP APM 21.1.0, 17.5.0–17.5.1, 17.1.0–17.1.3. Only when configured as an OAuth Authorization Server (access policy + OAuth profile on virtual server). BIG-IP Next, BIG-IQ, NGINX, F5OS, F5 AI Gateway, and F5 Distributed Cloud are not affected.
Fixed VersionsHotfix-BIGIP-21.1.0.2.0.30.22-ENG, Hotfix-BIGIP-17.5.1.9.0.160.12-ENG, Hotfix-BIGIP-17.1.3.5.0.41.14-ENG. These are engineering hotfixes — not full release upgrades.
Exposure DataShadowserver tracks 14,700+ IP addresses with BIG-IP APM fingerprints on the public internet. Not all are configured as OAuth Authorization Servers, but the attack surface is substantial. BIG-IP is commonly deployed as an internet-facing authentication gateway.
Disclosure TimelineSeptember 22, 2026: F5 advisory K000162605 published, CISA KEV listing. F5 discovered the vulnerability internally and confirmed exploitation before public disclosure. No prior CVE reservation or coordinated disclosure window.
ReporterF5 internal discovery. F5 found the vulnerability through internal processes and confirmed exploitation had already occurred before advisory publication. No external researcher credited.
04 · The Call

Final Verdict
= UNCHANGED to CRITICAL (9.8/10)

Why this verdict

  • Unauthenticated RCE with zero interaction: The CVSS vector (AV:N/AC:L/PR:N/UI:N) means any attacker who can reach the virtual server's data plane can trigger the overflow. No credentials, no phishing, no user click — just a crafted HTTP request to a public endpoint.
  • Active zero-day exploitation confirmed: F5 confirmed exploitation before disclosure. CISA added it to KEV with a 3-day deadline. This is not theoretical risk — adversaries are already using this in the wild.
  • Configuration prerequisite is real but narrow friction: The vuln only fires when APM is configured as an OAuth Authorization Server. This is genuine friction — not every BIG-IP APM runs OAuth AS. However, this is the *specific* deployment pattern used for internet-facing SSO and federated identity, so the affected subset is disproportionately high-value and internet-exposed.
  • No public PoC limits mass exploitation — temporarily: No exploit code is public as of September 23, but history shows F5 BIG-IP PoCs (CVE-2022-1388, CVE-2023-46747) surface within days to weeks of disclosure. The window of advantage is closing rapidly.
  • Role multiplier: BIG-IP is canonically a network-edge and identity-gateway appliance. (a) *Low-value role* (lab/test BIG-IP): minimal blast radius, but these are rare — BIG-IP licensing cost means most instances are production. (b) *Typical role* (load balancer/reverse proxy): compromise gives MitM position on all routed traffic — blast radius is tenant-level. (c) *High-value role* (APM as OAuth Authorization Server / SSO gateway): this is THE affected configuration, and it IS the high-value role. A compromised OAuth AS can harvest all OAuth tokens, SAML assertions, and session cookies for every federated application behind it. Blast radius is identity-scale to domain-scale. Since the bug is specifically IN the OAuth AS feature of a perimeter appliance, ≥10% of the affected installed base occupies the high-value role by definition → verdict floor is CRITICAL. The 14,700+ Shadowserver-tracked instances confirm substantial internet exposure.
  • Data-plane attack surface eliminates management-plane controls: Restricting TMUI/management access does not help. Appliance mode does not help. The vulnerable code path processes live application traffic — the exact traffic the device is deployed to handle.

Why not higher?

The CVSS scale caps at 10.0. The vendor's 9.8 is functionally the ceiling for a single-system, Scope:Unchanged vulnerability. There is no realistic basis for a higher score. The Scope is correctly Unchanged because exploitation occurs within the BIG-IP appliance context — though the practical blast radius through lateral movement is enormous, CVSS models that as a secondary impact.

Why not lower?

Configuration prerequisite (OAuth AS profile) provides some friction — not every BIG-IP runs this profile. However, the floor analysis overrides: BIG-IP is a canonical network-edge appliance, the affected OAuth AS feature is an identity-gateway function, and the bug yields unauthenticated RCE on a perimeter device with active exploitation confirmed. Downgrading below CRITICAL would require evidence that <1% of the installed base uses the OAuth AS profile AND that exploitation has stalled — neither is true. The 14,700+ exposed instances and confirmed zero-day exploitation lock this at CRITICAL.

05 · Compensating Control

What to do — in priority order.

  1. Apply F5 iRule mitigation immediately — Contact F5 Support to obtain the specific iRule for CVE-2026-94127 and apply it to every virtual server with an APM access policy and OAuth profile. This is F5's recommended temporary mitigation for organizations that cannot install the hotfix within hours. The iRule blocks the malicious input pattern at the data plane. Deploy within hours — this is an actively exploited zero-day; the noisgate mitigation SLA for CRITICAL is ≤3 days, but active exploitation means you should treat this as *hours, not days*.
  2. Install engineering hotfixes on all affected BIG-IP instances — Apply Hotfix-BIGIP-21.1.0.2.0.30.22-ENG (21.1.x), Hotfix-BIGIP-17.5.1.9.0.160.12-ENG (17.5.x), or Hotfix-BIGIP-17.1.3.5.0.41.14-ENG (17.1.x) as appropriate. These are engineering hotfixes, not full upgrades — test in a maintenance window but prioritize speed. The noisgate remediation SLA for CRITICAL is ≤90 days, but given active exploitation, compress this to the earliest available change window.
  3. Audit all BIG-IP APM instances for OAuth Authorization Server profiles — Run tmsh list apm profile oauth-server across your fleet to identify which BIG-IPs are actually vulnerable. Only instances with an OAuth Authorization Server profile on a virtual server with an APM access policy are affected. This scoping exercise lets you prioritize hotfix deployment on the highest-risk subset.
  4. Hunt for indicators of compromise on exposed instances — Review /var/log/apm for 10+ invalid-token messages in rapid succession, check /var/log/ltm for TMM SIGABRT events, and look for suspicious commands or unauthorized configuration changes. Correlate these three indicators — their combined appearance signals exploitation. Any previously exposed, unpatched appliance should be treated as potentially compromised and undergo forensic triage before or during patching.
  5. Place a WAF or IPS in front of BIG-IP OAuth endpoints — If you have an upstream WAF or IPS, deploy rules to inspect and limit OAuth parameter sizes on requests to /f5-oauth2/v1/authorize and /f5-oauth2/v1/token endpoints. This adds defense-in-depth but should NOT be treated as a substitute for the iRule or hotfix — the WAF may not catch all exploit variants.
  6. Restrict network access to OAuth endpoints where feasible — If your OAuth Authorization Server endpoints do not need to be globally reachable, restrict source IPs using ACLs or firewall rules to known identity provider or client application ranges. This reduces the attack surface but may not be feasible for public-facing SSO deployments.
What doesn't work
  • Restricting BIG-IP management interface access (TMUI/SSH). This vulnerability is in the data plane, not the control plane. Locking down management access has zero effect — the attacker exploits the same traffic path the device is deployed to serve.
  • Enabling BIG-IP Appliance mode. Appliance mode restricts administrative shell access and certain operations, but it does not restrict data-plane traffic handling. F5 explicitly confirmed Appliance mode deployments are vulnerable.
  • Disabling OAuth on the virtual server without removing the profile. Simply disabling the access policy does not remove the OAuth profile processing from the data plane. The OAuth profile must be fully removed from the virtual server configuration, or the iRule/hotfix must be applied.
  • Generic IDS/IPS signatures for heap overflows. Without a specific signature for CVE-2026-94127's exploit pattern, generic buffer overflow detection is unlikely to catch this — the payload is delivered within a legitimate-looking OAuth HTTP request.
06 · Verification

Crowdsourced verification payload.

Run this script on each BIG-IP appliance (SSH as root or admin with tmsh access). Invoke with: bash check_cve_2026_94127.sh. Requires root or tmsh-capable user privileges.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/bin/bash
# check_cve_2026_94127.sh — CVE-2026-94127 BIG-IP APM OAuth RCE checker
# Run on the BIG-IP appliance itself as root or admin.
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

# --- 1. Get BIG-IP version ---
if ! command -v tmsh &>/dev/null; then
  echo "UNKNOWN — tmsh not found. Is this a BIG-IP appliance?"
  exit 2
fi

VERSION=$(tmsh show sys version | grep -oP 'Version\s+\K[0-9]+\.[0-9]+\.[0-9]+'| head -1)
BUILD=$(tmsh show sys version | grep -oP 'Build\s+\K[0-9]+\.[0-9]+\.[0-9]+'| head -1)

if [ -z "$VERSION" ]; then
  echo "UNKNOWN — could not determine BIG-IP version."
  exit 2
fi

echo "Detected BIG-IP version: $VERSION (build: ${BUILD:-unknown})"

# --- 2. Check if APM is provisioned ---
APM_PROV=$(tmsh list sys provision apm 2>/dev/null | grep -c 'level nominal\|level minimum\|level dedicated' || true)
if [ "$APM_PROV" -eq 0 ]; then
  echo "PATCHED — APM is not provisioned. CVE-2026-94127 does not apply."
  exit 0
fi
echo "APM is provisioned."

# --- 3. Check for OAuth Authorization Server profiles ---
OAUTH_PROFILES=$(tmsh list apm profile oauth-server 2>/dev/null | grep -c 'apm profile oauth-server' || true)
if [ "$OAUTH_PROFILES" -eq 0 ]; then
  echo "PATCHED — No OAuth Authorization Server profiles found. CVE-2026-94127 does not apply."
  exit 0
fi
echo "Found $OAUTH_PROFILES OAuth Authorization Server profile(s)."

# --- 4. Check version against affected ranges ---
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"

VULNERABLE=false

# 21.1.0
if [ "$MAJOR" -eq 21 ] && [ "$MINOR" -eq 1 ] && [ "$PATCH" -eq 0 ]; then
  VULNERABLE=true
  FIXED_HF="Hotfix-BIGIP-21.1.0.2.0.30.22-ENG"
fi

# 17.5.0 - 17.5.1
if [ "$MAJOR" -eq 17 ] && [ "$MINOR" -eq 5 ] && [ "$PATCH" -le 1 ]; then
  VULNERABLE=true
  FIXED_HF="Hotfix-BIGIP-17.5.1.9.0.160.12-ENG"
fi

# 17.1.0 - 17.1.3
if [ "$MAJOR" -eq 17 ] && [ "$MINOR" -eq 1 ] && [ "$PATCH" -le 3 ]; then
  VULNERABLE=true
  FIXED_HF="Hotfix-BIGIP-17.1.3.5.0.41.14-ENG"
fi

if [ "$VULNERABLE" = false ]; then
  echo "PATCHED — BIG-IP version $VERSION is not in the affected range."
  exit 0
fi

# --- 5. Check if hotfix is applied ---
HF_INSTALLED=$(tmsh show sys version | grep -i 'Hotfix' || true)
if echo "$HF_INSTALLED" | grep -qiE '(21\.1\.0\.2\.0\.30\.22|17\.5\.1\.9\.0\.160\.12|17\.1\.3\.5\.0\.41\.14)'; then
  echo "PATCHED — Hotfix for CVE-2026-94127 is installed."
  exit 0
fi

# --- 6. Check if iRule mitigation is in place ---
IRULE_MIT=$(tmsh list ltm virtual 2>/dev/null | grep -ci 'cve.2026.94127\|oauth_mitigation' || true)
if [ "$IRULE_MIT" -gt 0 ]; then
  echo "VULNERABLE (mitigated) — Version $VERSION with OAuth AS profile is affected, but iRule mitigation appears applied. Install hotfix: $FIXED_HF"
  exit 1
fi

echo "VULNERABLE — BIG-IP $VERSION with $OAUTH_PROFILES OAuth AS profile(s) is affected by CVE-2026-94127."
echo "Apply iRule mitigation immediately and install hotfix: $FIXED_HF"
exit 1
07 · Sources

Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.