
Read-only defensive detector for CVE-2026-94127 in F5 BIG-IP APM. Fingerprints hosts, checks versions via iControl REST, and verifies OAuth authorization-server preconditions.
Author: https://github.com/FurkanKAYAPINAR/
A defensive, non-exploit detector for CVE-2026-94127, a heap-based buffer overflow (CWE-122) in F5 BIG-IP APM that allows an unauthenticated remote attacker to achieve remote code execution (RCE).
This repository contains detection and remediation tooling only. It does not contain a weaponized exploit or proof-of-concept for achieving code execution. See Scope & ethics.
The vulnerability only manifests when BIG-IP APM is configured as an OAuth Authorization Server — that is, a virtual server that has both:
Malicious OAuth traffic to such a virtual server can trigger the heap overflow. Deployments that use APM strictly as an OAuth Client / Resource Server (no authorization-server profile) are not affected.
detect_cve_2026_94127.py performs read-only checks:
Version/Build via iControl REST
(/mgmt/tm/sys/version) and compares against the affected ranges.It sends only normal, read-only requests — no crafted/overflow traffic.
| Branch | Minimum affected | Fixed hotfix (confirm in K000162605) |
|---|---|---|
| 21.1 | 21.1.0 |
F5's engineering hotfix versioning is irregular; the tool flags affected branches conservatively and tells you to confirm the exact fixed build against the official advisory before concluding.
pip install -r requirements.txt
Requires Python 3.8+.
# Unauthenticated fingerprint (is this a BIG-IP?)
./detect_cve_2026_94127.py -t 10.0.0.1
# Authenticated, read-only — most accurate (a read-only account is enough)
./detect_cve_2026_94127.py -t 10.0.0.1 -u admin # prompts for password
# Scan a list of hosts and emit JSON
./detect_cve_2026_94127.py --targets-file hosts.txt -u admin --json
# Run on the appliance itself (uses tmsh), or against an exported config
./detect_cve_2026_94127.py --local
./detect_cve_2026_94127.py --config-file ./bigip.conf
Exit code is 2 when any target is vulnerable/likely-vulnerable (CI-friendly),
0 otherwise.
This project is intended for authorized defenders and administrators to inventory and remediate their own exposure ahead of the remediation deadline.
MIT — see LICENSE.
Hotfix-BIGIP-21.1.0.2.0.30.22-ENG |
| 17.5 | 17.5.0 | Hotfix-BIGIP-17.5.1.9.0.160.12-ENG |
| 17.1 | 17.1.0 | Hotfix-BIGIP-17.1.3.5.0.41.14-ENG |
| Verdict | Meaning |
|---|
VULNERABLE | Affected version and exploit preconditions present |
LIKELY_VULNERABLE | Affected version; config not verified (no creds) |
AFFECTED_VERSION_CONFIG_ABSENT | Affected version, but APM+OAuth not found |
NOT_AFFECTED_PATCHED | Version appears at/above the fix |
NOT_AFFECTED_BRANCH | Branch/version outside the affected set |
NOT_A_BIGIP_OR_UNREACHABLE | No BIG-IP indicators |
UNKNOWN | Not enough data (e.g. BIG-IP confirmed but no credentials) |