F5 BIG-IP APM CVE-2026-94127: RCE non autenticata sfruttata in rete
CVE-2026-94127 è una RCE non autenticata CVSS 9.8 nel server di autorizzazione OAuth di F5 BIG-IP APM, sfruttata in rete prima che esistesse una patch.
L'apparato che la maggior parte delle aziende mette davanti alle applicazioni per fare autenticazione è appena diventato il modo per saltarla. Il 22 settembre 2026 F5 ha pubblicato l'advisory K000162605 per CVE-2026-94127, una remote code execution non autenticata con CVSS 9.8 in BIG-IP Access Policy Manager (APM). Lo stesso giorno CISA l'ha inserita nel catalogo Known Exploited Vulnerabilities, con scadenza di remediation al 25 settembre per le agenzie federali — la tempistica breve che CISA riserva ai bug già usati contro bersagli reali. Quando è uscito l'advisory non esisteva alcun proof-of-concept pubblico. E non serviva: qualcuno aveva già un exploit funzionante.
Cos'è davvero CVE-2026-94127
APM è il gateway di identità di F5 — il modulo che sta davanti a portali VPN, accesso applicativo e single sign-on. In molte installazioni funziona anche da server di autorizzazione OAuth, emettendo e validando i token per le applicazioni retrostanti. CVE-2026-94127 vive esattamente in quel percorso di codice.
Il bug è un heap-based buffer overflow nel traffic-management microkernel (TMM), il processo del data plane che gestisce ogni pacchetto inoltrato dall'appliance. Secondo F5 e l'analisi di Rapid7, un attaccante non autenticato con raggiungibilità di rete verso un virtual server affetto può innescare l'overflow inviando traffico appositamente costruito all'endpoint di autorizzazione OAuth. Nessuna credenziale, nessun appoggio pregresso, nessuna interazione dell'utente. Una primitiva di corruzione di memoria in un demone esposto in rete che gira come root è quasi il posto peggiore dove un bug possa stare, e la superficie raggiungibile è un server di login che, per progetto, accetta richieste da chiunque.
La condizione che rende un dispositivo vulnerabile è precisa: un virtual server configurato con sia una access policy APM sia un profilo OAuth authorization server. Quella precisione è l'unica buona notizia dell'advisory, e — come argomenta la sezione seguente — è una consolazione più fragile di quanto sembri.
"Non è la configurazione di default" consola poco
F5 precisa con cura che CVE-2026-94127 non è esposta in un'installazione di default. Le implementazioni che usano APM solo come client OAuth o resource server — che consumano token invece di emetterli — non sono affette. Quella formulazione invita a un'alzata di spalle pericolosa: probabilmente siamo a posto.
Il problema è che la configurazione vulnerabile non è esotica. Usare BIG-IP APM come server di autorizzazione OAuth è un pattern diffuso per le organizzazioni che centralizzano l'SSO sul proprio parco F5 — è uno dei motivi per cui le aziende comprano APM. E la popolazione che si trova in questa condizione non è piccola. La Shadowserver Foundation ha rilevato circa 15.000 istanze BIG-IP APM esposte su internet al momento della disclosure, ripartite quasi equamente tra Nord America ed Europa. Non tutte eseguono il profilo vulnerabile — ma "non tutte" non è un numero che chi legge possa sostituire al proprio audit di configurazione.
La postura onesta è l'opposto dell'alzata di spalle: dai per scontato di dover dimostrare di non eseguire la condizione di trigger, invece di dare per scontato di non eseguirla. Su un'appliance presente in azienda da anni, che ha accumulato virtual server e profili attraverso passaggi di consegne tra team, "non crediamo di averlo configurato" è un'ipotesi, non un controllo.
Un difetto di memoria che F5 ha già visto su questa stessa superficie
Ecco il dettaglio che dovrebbe cambiare il modo di leggere questa CVE: il percorso di parsing OAuth dentro APM ha già prodotto un difetto di sicurezza della memoria, e di recente.
A ottobre 2025 F5 ha corretto CVE-2025-54854, un out-of-bounds read (CWE-125) nella gestione dei profili di accesso OAuth di BIG-IP APM. Del traffico non divulgato poteva far leggere al processo apmd oltre un buffer facendolo terminare — un denial of service, un gradino di severità sotto quello di oggi. Stesso sottosistema, stessa forma "traffico OAuth costruito ad arte raggiunge un parser che gestisce male la memoria". Undici mesi dopo la stessa superficie produce una scrittura heap che arriva all'esecuzione di codice invece di una lettura che arriva a un crash. Non è la coincidenza di due bug scorrelati; è una classe di difetto in un singolo componente, lavorata istanza per istanza.
Su quella classe gli attaccanti erano in vantaggio. A ottobre 2025 F5 ha comunicato che un attore statale — poi tracciato come il cluster cinese UNC5221 — aveva passato circa un anno dentro il suo ambiente di sviluppo prodotto ed esfiltrato codice sorgente di BIG-IP insieme a informazioni su vulnerabilità non ancora divulgate. Una RCE da corruzione di memoria che emerge in un percorso di codice APM di nicchia, resa arma prima che esista un PoC pubblico, è esattamente la forma di rischio che quel furto ha creato. Che CVE-2026-94127 discenda direttamente o meno da quel materiale rubato, la disclosure ha detto a ogni operatore BIG-IP qualcosa di duraturo: chi è nella posizione migliore per trovare il prossimo bug su questa piattaforma non è necessariamente chi apre le CVE.
La domanda sulla raggiungibilità a cui il CVSS 9.8 non risponde
Un 9.8 ti dice che il bug è catastrofico se raggiunto. Non dice nulla su se, nella tua rete, un attaccante non autenticato possa davvero mettere byte costruiti ad arte davanti a quell'endpoint di autorizzazione OAuth — né quale dei tuoi decine di virtual server porti la combinazione fatale di profili. Sono queste le domande che decidono se sei stato violato questa settimana o solo eleggibile a esserlo.
"Abbiamo passato lo scanner. Ha segnalato il BIG-IP come 'APM presente, versione nel range'. Non ci ha detto che solo due dei nostri quattordici virtual server avevano un profilo di autorizzazione OAuth associato, che uno era raggiungibile dalla VLAN guest attraverso una rotta dimenticata, e che l'altro stava dietro una policy WAF che per caso scartava il trigger. Uno di quei fatti ha fatto squillare un cercapersone alle 2 di notte. Lo scan non sapeva ordinarli."
Versione-nel-range è uno stato di archiviazione. La raggiungibilità è il finding. Colmare quel divario significa partire da un appoggio realistico e chiedersi se la richiesta costruita ad arte atterri davvero sulla tua build e sulla tua topologia — la differenza tra una voce rimandata al prossimo trimestre e un percorso comprovato fino a root sull'apparato che autentica le tue applicazioni.
Remediation
Tratta ogni BIG-IP APM potenzialmente esposto come oggetto di incident response, non solo come bersaglio di patching — il bug è stato sfruttato prima che uscisse la fix, quindi "abbiamo patchato" e "non siamo mai stati colpiti" sono due affermazioni distinte.
1. Sono affetto?
Verifica se qualche virtual server associa sia una access policy APM sia un profilo OAuth authorization server. Da CLI:
tmsh list ltm virtual all-properties | grep -iE 'profiles|policies'
tmsh list apm profile access
tmsh list apm oauth server
Poi conferma che il software in esecuzione ricada nei range affetti:
| Branch | Affetto | Corretto (engineering hotfix) |
|---|---|---|
| 21.1 | 21.1.0 | Hotfix-BIGIP-21.1.0.2.0.30.22-ENG |
| 17.5 | 17.5.0 – 17.5.1 | Hotfix-BIGIP-17.5.1.9.0.160.12-ENG |
| 17.1 | 17.1.0 – 17.1.3 | Hotfix-BIGIP-17.1.3.5.0.41.14-ENG |
APM usato solo come client OAuth o resource server non è affetto — ma verificalo, non darlo per scontato.
2. Patch — versioni corrette esatte
Applica l'engineering hotfix per il tuo branch, verbatim da F5 K000162605: Hotfix-BIGIP-21.1.0.2.0.30.22-ENG, Hotfix-BIGIP-17.5.1.9.0.160.12-ENG o Hotfix-BIGIP-17.1.3.5.0.41.14-ENG (o successivi). Sono engineering hotfix distribuiti tramite F5 Support, non release di manutenzione — pianifica la finestra di intervento di conseguenza.
3. Non puoi patchare subito? — controlli compensativi
- Applica la iRule di mitigazione ufficiale di F5, ottenuta aprendo un caso presso F5 Support. Riduce l'esposizione sul virtual server vulnerabile mentre prepari l'hotfix.
- Limita la raggiungibilità di rete verso l'endpoint di autorizzazione OAuth. Se il server di autorizzazione deve servire solo un insieme noto di applicazioni e flussi di identità, non dovrebbe rispondere a tutta internet — restringi lo scoping di sorgente del virtual server e le ACL a monte.
- Metti davanti all'endpoint una policy WAF/L7 che rifiuti richieste OAuth malformate. È un tampone contro il traffico opportunistico, non una fix — un attaccante mirato che conosce il trigger esatto spesso sa modellare una richiesta che passa.
4. Caccia alla compromissione
La guida di F5 nomina la sequenza da cercare: molteplici fallimenti di autenticazione OAuth, seguiti da comandi amministrativi sospetti, seguiti a breve da un SIGABRT del TMM — quella combinazione deve far scattare una revisione umana. In concreto:
- Richieste OAuth
UserInfofallite ripetute che loggano "The access token is invalid," e picchi inspiegabili nei contatori OAuth falliti (F5 suggerisce come soglia di revisione 10+ fallimenti da un singolo IP sorgente) — mappa su MITRE ATT&CK T1190 Exploit Public-Facing Application. - File core del TMM / crash
SIGABRTsul data plane APM — l'impronta della corruzione di memoria. - Processi, shell o connessioni in uscita nuovi o inattesi dal BIG-IP verso destinazioni mai viste (T1059 execution, T1071 C2). Un'appliance con root che fa beacon in uscita non è comportamento normale di un BIG-IP.
- Modifiche inattese a configurazione, iRule o credenziali sull'apparato (T1505 server component / persistenza).
5. Bonifica + verifica
Una RCE non autenticata che atterra come root sul data plane significa che i log stessi dell'appliance sono scrivibili dall'attaccante — un BIG-IP compromesso può riscrivere proprio i record apmd/TMM che stai analizzando. Quindi:
- Patcha prima, poi tratta come esposto ogni segreto che il dispositivo custodiva: ruota credenziali admin, token API, chiavi e certificati TLS/SSL, chiavi di firma OAuth e client secret, e ogni credenziale che l'apparato usava per raggiungere sistemi di back-end.
- Ricostruisci invece di bonificare se trovi prove di esecuzione di codice — root sul data plane preclude ogni fiducia nello stato on-box.
- Conferma la pulizia dopo il patching, e riscontra i finding on-box con evidenze off-box: netflow, log dei firewall a monte e DNS. Un dispositivo che può modificare il proprio audit trail non può essere l'alibi di sé stesso.
Dove si inserisce Zero Hunt
L'articolo si è aperto su una domanda a cui un punteggio di severità non risponde: non quanto è grave CVE-2026-94127, ma è raggiungibile sul tuo BIG-IP, sulla tua topologia, adesso — e quale dei tuoi virtual server porta la combinazione fatale di profili.
È un problema di validazione, ed è ciò per cui è costruito lo swarm generativo a 10 agenti di Zero Hunt. In una campagna change-triggered — una nuova interfaccia di management esposta, una CVE appena pubblicata — gli agenti Recon, Exploit e Pivot prendono un appoggio realistico e verificano se la richiesta costruita ad arte atterri davvero sulla tua build e sulla tua segmentazione, non su quella del diagramma di rete. L'exploit è scritto per singolo target da un LLM locale sull'appliance, non prelevato da un PoC pubblico — cosa che conta proprio in una finestra zero-day in cui nessun PoC pubblico esiste ancora, la finestra dentro cui UNC5221 ha operato ripetutamente. Ogni nuova skill offensiva è ritestata nell'AI Gym contro un corpus black-box basato su CVE prima di toccare la produzione, e ogni finding è firmato ECDSA al momento della scrittura, così l'output è "questo VIP di autorizzazione OAuth era raggiungibile dalla VLAN guest e l'overflow è atterrato — ecco la prova", non un 9.8 rimandato al prossimo trimestre.
Il seguito appartiene al filo. Una volta che un attaccante ha root sul data plane TMM, la telemetria stessa dell'appliance diventa la sua dichiarazione, non la tua evidenza — ed è esattamente per questo che la guida di detection di F5 si appoggia al riscontro incrociato con segnali off-box. L'AI Traffic Analysis di Zero Hunt legge quel traffico in modo comportamentale: un modello di deep learning con quattro teste di inferenza, in esecuzione sulla GPU dell'appliance a 2.7+ Gbit/s, la cui testa di application fingerprinting sa che aspetto ha il traffico normale di APM e OAuth — così il payload di autorizzazione anomalo, la shell post-exploitation e un beacon verso un ASN mai visto emergono mentre accadono, su un apparato che può già riscrivere i propri log. E poiché APM protegge l'accesso ad applicazioni regolamentate, lo stesso finding mappa su NIS2, DORA e ISO 27001 nel layer di compliance di Zero Hunt — una sola esposizione, provata una volta, firmata una volta.