
Read-only-Detektor für CVE-2026-94127 in F5 BIG-IP APM. Fingerabdrücke von Hosts, Versionsprüfung über iControl REST und Verifikation der OAuth-Autorisierungsserver-Voraussetzungen.
Autor: https://github.com/FurkanKAYAPINAR/
Ein defensiver, nicht-exploitierender Detektor für CVE-2026-94127, einen heap-basierten Pufferüberlauf (CWE-122) in F5 BIG-IP APM, der einem nicht authentifizierten Remote-Angreifer die Ausführung von Remote-Code (RCE) ermöglicht.
Dieses Repository enthält ausschließlich Werkzeuge zur Erkennung und Behebung. Es enthält keinen weaponisierten Exploit oder Proof-of-Concept zur Erlangung von Codeausführung. Siehe Umfang & Ethik.
Die Schwachstelle tritt nur auf, wenn BIG-IP APM als OAuth Authorization Server konfiguriert ist — das heißt, ein virtueller Server, der beides aufweist:
Bösartiger OAuth-Datenverkehr an einen solchen virtuellen Server kann den Heap-Überlauf auslösen. Bereitstellungen, die APM ausschließlich als OAuth Client / Resource Server nutzen (ohne Authorization-Server-Profil), sind nicht betroffen.
detect_cve_2026_94127.py führt ausschließlich lesende Prüfungen durch:
Version/Build über iControl REST
(/mgmt/tm/sys/version) und vergleicht mit den betroffenen Bereichen.Es sendet nur normale, lesende Anfragen — keinen manipulierten/Überlauf-Datenverkehr.
| Branch | Mindestens betroffen | Behobener Hotfix (in K000162605 bestätigen) |
|---|---|---|
| 21.1 | 21.1.0 | 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 |
Die Versionierung der Engineering-Hotfixes von F5 ist unregelmäßig; das Tool markiert betroffene Branches konservativ und weist darauf hin, den exakten behobenen Build anhand des offiziellen Sicherheitshinweises zu bestätigen, bevor Schlussfolgerungen gezogen werden.
pip install -r requirements.txt
Erfordert 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
Der Exit-Code ist 2, wenn ein Ziel verwundbar/wahrscheinlich verwundbar ist (CI-freundlich),
andernfalls 0.
| Urteil | Bedeutung |
|---|---|
VULNERABLE | Betroffene Version und Exploit-Vorbedingungen vorhanden |
LIKELY_VULNERABLE | Betroffene Version; Konfiguration nicht verifiziert (keine Anmeldedaten) |
AFFECTED_VERSION_CONFIG_ABSENT | Betroffene Version, aber APM+OAuth nicht gefunden |
NOT_AFFECTED_PATCHED | Version scheint auf/über dem Fix zu liegen |
NOT_AFFECTED_BRANCH | Branch/Version außerhalb der betroffenen Menge |
NOT_A_BIGIP_OR_UNREACHABLE | Keine BIG-IP-Indikatoren |
UNKNOWN | Nicht genügend Daten (z. B. BIG-IP bestätigt, aber keine Anmeldedaten) |
Dieses Projekt ist für autorisierte Verteidiger und Administratoren gedacht, um ihre eigene Exposition vor der Behebungsfrist zu inventarisieren und zu beheben.
MIT — siehe LICENSE.