
Rilevatore difensivo in sola lettura per CVE-2026-94127 in F5 BIG-IP APM. Esegue il fingerprinting degli host, verifica le versioni tramite iControl REST e controlla le precondizioni del server di autorizzazione OAuth.
Autore: https://github.com/FurkanKAYAPINAR/
Un rilevatore difensivo, non-exploit per CVE-2026-94127, un buffer overflow basato su heap (CWE-122) in F5 BIG-IP APM che consente a un attaccante remoto non autenticato di ottenere l'esecuzione di codice in remoto (RCE).
Questo repository contiene esclusivamente strumenti di rilevamento e remediation. Non contiene un exploit weaponizzato o un proof-of-concept per ottenere l'esecuzione di codice. Vedi Ambito ed etica.
La vulnerabilità si manifesta solo quando BIG-IP APM è configurato come OAuth Authorization Server — ovvero un virtual server che ha entrambi:
Il traffico OAuth malevolo verso un tale virtual server può innescare l'heap overflow. Le installazioni che utilizzano APM strettamente come OAuth Client / Resource Server (senza un authorization-server profile) non sono interessate.
detect_cve_2026_94127.py esegue controlli in sola lettura:
Version/Build tramite iControl REST
(/mgmt/tm/sys/version) e confronta con gli intervalli interessati.Invia solo richieste normali in sola lettura — nessun traffico craftato/overflow.
| Branch | Minimo interessato | Hotfix correttivo (confermare in K000162605) |
|---|---|---|
| 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 |
Il versionamento degli hotfix di engineering di F5 è irregolare; lo strumento segnala i branch interessati in modo conservativo e ti invita a confermare la build corretta esatta rispetto all'advisory ufficiale prima di concludere.
pip install -r requirements.txt
Richiede Python 3.8+.
# Fingerprint non autenticato (è un BIG-IP?)
./detect_cve_2026_94127.py -t 10.0.0.1
# Autenticato, sola lettura — più accurato (è sufficiente un account in sola lettura)
./detect_cve_2026_94127.py -t 10.0.0.1 -u admin # richiede la password
# Scansiona una lista di host ed emette JSON
./detect_cve_2026_94127.py --targets-file hosts.txt -u admin --json
# Esegui sull'appliance stessa (usa tmsh), o contro una configurazione esportata
./detect_cve_2026_94127.py --local
./detect_cve_2026_94127.py --config-file ./bigip.conf
Il codice di uscita è 2 quando un target è vulnerabile/probabilmente
vulnerabile (CI-friendly), 0 altrimenti.
| Verdetto | Significato |
|---|---|
VULNERABLE | Versione interessata e precondizioni di exploit presenti |
LIKELY_VULNERABLE | Versione interessata; configurazione non verificata (nessuna credenziale) |
AFFECTED_VERSION_CONFIG_ABSENT | Versione interessata, ma APM+OAuth non trovati |
NOT_AFFECTED_PATCHED | La versione appare pari o superiore alla correzione |
NOT_AFFECTED_BRANCH | Branch/versione al di fuori dell'insieme interessato |
NOT_A_BIGIP_OR_UNREACHABLE | Nessun indicatore BIG-IP |
UNKNOWN | Dati insufficienti (es. BIG-IP confermato ma nessuna credenziale) |
Questo progetto è destinato a difensori e amministratori autorizzati per inventariare e correggere la propria esposizione prima della scadenza di remediation.
MIT — vedi LICENSE.