Impianto FortiGate PEERSTITCH: CVE-2025-61624 e una breccia telecom di 25 mesi
Un impianto FortiGate solo-in-memoria, PEERSTITCH, è rimasto 25 mesi in una telecom. CVE-2025-61624 è in KEV, scade oggi — e la patch da sola non basta.
Pubblicato da Zero Hunt, un red team AI autonomo su un'appliance on-premise con AI privata: penetration test automatizzato per reti e infrastrutture, in black box o gray box, con una persona che approva ogni passo che conta.
Il firewall dovrebbe essere la cosa che sorveglia tutto il resto. Unit 42 di Palo Alto Networks ha ora pubblicato l'anatomia di un'intrusione in cui il firewall era la cosa che nessuno sorvegliava: un impianto residente in memoria chiamato PEERSTITCH, vissuto dentro i processi FortiOS degli apparati di un operatore di telecomunicazioni da settembre 2024 fino alla divulgazione del 14 ottobre 2026 — circa 25 mesi — senza lasciare un file su disco, senza aprire una porta, senza mai chiamare all'esterno di propria iniziativa. Il 16 ottobre CISA ha inserito nel catalogo Known Exploited Vulnerabilities la falla di path traversal usata per piazzarlo, CVE-2025-61624, con scadenza di remediation federale fissata a oggi, 19 ottobre.
Notizia in evoluzione — pubblicata alle 13:23 (11:23 UTC) del 19 ottobre 2026. Aggiornata man mano che vendor e CISA pubblicano.
In breve
| CVE | CVE-2025-61624 (path traversal, CWE-22) |
| Prodotto / versioni colpite | FortiOS 6.4 · 7.0 · 7.2 tutte; 7.4.0–7.4.9; 7.6.0–7.6.4 · FortiProxy 7.0 · 7.2 tutte; 7.4.0–7.4.11; 7.6.0–7.6.4 · FortiPAM ≤ 1.7.0 · FortiSwitchManager 7.0.0–7.0.6; 7.2.0–7.2.7 |
| Corretta in | FortiOS 7.6.5 · 7.4.10 · FortiProxy 7.6.5 · 7.4.12 · FortiPAM 1.7.1 · FortiSwitchManager 7.2.8 · 7.0.7 (branch più vecchie: migrare a una release corretta) |
| CVSS | 6.0 Medio (Fortinet PSIRT, CVSS 3.1 AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H); 6.5 Medio (NVD, AV:N) |
| Sfruttata attivamente | Sì — Unit 42 la attribuisce a CL-STA-0954 / UNC5820; advisory FBI/US Secret Service del 2026-10-06 |
| CISA KEV | Aggiunta 2026-10-16; scadenza federale 2026-10-19 (BOD 26-04, triage forense richiesto) |
| PoC pubblico | Nessuno pubblico al 2026-10-19 |
| Advisory ufficiale | Fortinet FG-IR-26-122 |
Cosa è successo davvero
Il punto d'ingresso non è stato CVE-2025-61624. È stato CVE-2024-47575 — "FortiJump," la falla di RCE non autenticata via FGFM in FortiManager che CISA mise in KEV già nell'ottobre 2024 (CVSS 9.8). Attraverso il canale FMG-Access su TCP 541 l'attore ha registrato un FortiGate virtuale fasullo chiamato localhost, poi ha generato ed esfiltrato un archivio di configurazione. Quell'archivio conteneva le configurazioni attive di oltre 500 firewall FortiGate gestiti: global.db e revinfo.db, un inventario seriale-IP pubblico, routing e topologia, certificati, chiavi private e cifrato di credenziali reversibile che Unit 42 conferma recuperabile per forza bruta — abbastanza per autenticarsi in SSL-VPN come i firewall stessi.
CVE-2025-61624 è arrivata dopo, per andare in profondità più che in ampiezza. È un path traversal nel motore CLI system.auto-script di FortiOS (CWE-22): un admin autenticato — incluso super_admin — può leggere e scrivere file come root tramite comandi CLI costruiti ad arte. L'attore l'ha usata per depositare PEERSTITCH e una reverse shell ACME su Apache mod_md. Si noti la precondizione: questa falla richiede l'admin, e l'admin è esattamente ciò che l'archivio FortiManager rubato ha consegnato. I due CVE non sono eventi indipendenti: sono una catena.
Perché l'host non può dirti la verità
PEERSTITCH è un injector a colpo singolo che modifica la memoria dei processi. Usa ptrace(PTRACE_SEIZE) per agganciare due daemon chiave — /bin/miglogd (logging) e /bin/iked (VPN IKE/IPsec) — mappa un buffer RWX da 16 KB, scrive un payload di 1.344 byte via /proc/<pid>/mem e applica patch NOP ai controlli di validazione. I due hook comunicano tra loro scandendo il traffico interno ai processi in cerca dei marcatori 8550 e 169.254.0.1 e passando i tag di sessione in un ring buffer. Modifica il daemon di logging e quello VPN: il sensore e la porta, nello stesso gesto.
Poi ha ripulito dietro di sé. Secondo Unit 42, gli operatori hanno eseguito killall -9 miglogd e killall -9 syslogd, azzerato il crash log con diagnose debug crashlog clear, cancellato gli admin fasulli, i gruppi VPN e gli oggetti auto-script usati, e sovrascritto il file di configurazione md-acme.conf della reverse shell con una stringa-esca. I registri dell'apparato sono stati la prima vittima. Venticinque mesi è quanto dura tutto questo quando la scatola che controlla la rete è stata istruita a mentire su sé stessa.
Remediation
- Sono colpito? Su ogni apparato FortiOS/FortiProxy esegui
get system statuse confronta il firmware con la tabella sopra; su FortiManager verifica di essere oltre la fix FortiJump dell'ottobre 2024. Poi cerca sull'host, con gli indicatori di Unit 42: ispeziona/proc/<pid>/mapsdimiglogdeikedper una regione anonimarwxpda 16.384 byte; controlla che gli offset NOP contengano0xAA0003E0; cerca nelle revisioni di config oggettisystem.auto-scriptcon../../; e leggidiagnose debug crashlog readper crash Signal 11 inmiglogd,ikedosyslogd. - Patch — versioni corrette esatte. FortiOS 7.6.5 / 7.4.10; FortiProxy 7.6.5 / 7.4.12; FortiPAM 1.7.1; FortiSwitchManager 7.2.8 / 7.0.7. Le branch segnate "tutte le versioni" sopra (FortiOS 6.4/7.0/7.2, ecc.) non hanno fix nella branch — migrare a una release corretta. Fortinet distribuisce anche un virtual patch (
FG-VD-59270) nel db FMWP 25.120 per chi non può aggiornare subito. - Non puoi applicare la patch ora? Limita l'accesso amministrativo e FGFM alle sole reti di management fidate, e tieni le interfacce di gestione fuori da internet — CVE-2025-61624 richiede una sessione admin autenticata, quindi ridurre chi può raggiungere la CLI riduce l'esposizione.
- Caccia al compromesso. IOC da Unit 42: host di hosting payload
23.240.77[.]233e47.18.167[.]159(/pM.jssu 8085; reverse shell ACME su 8084), IP di registrazione fasulla45.32.41[.]202e198.199.122[.]22, e i filelldprx,pM.js,index.js,index.wasm,ipssem.jssotto/data2/template/. Attenzione a config di sniffer su TCP 3696–3706, 389 (LDAP) e UDP 1812/1813 (RADIUS), e ai login SSL-VPN da ASN inattesi. - Bonifica e verifica — e non fermarti alla patch. È la parte che quasi tutti saltano. La patch chiude CVE-2025-61624; non fa nulla sull'archivio di configurazione già rubato. Ogni credenziale, certificato e chiave privata che stava su quel FortiManager — e sui 500+ firewall nell'archivio — resta valida finché non la ruoti. Ricostruisci gli apparati compromessi da firmware pulito, poi ruota tutte le credenziali admin, i segreti SSL-VPN, i certificati e le chiavi su tutta la flotta gestita, e solo allora conferma la pulizia rieseguendo i controlli sopra. Un runbook più completo di remediation guidata dal pentest è nella nostra guida al penetration testing automatizzato.
Cosa non si sa ancora
- La scala. Unit 42 documenta un operatore MSP di telecomunicazioni e 500+ firewall nell'archivio rubato. I titoli che citano "15.000 FortiGate" non sono supportati dal report che abbiamo letto; trattare quel numero come non verificato.
- Il passaggio di impersonificazione FGFM. Unit 42 valuta con media fiducia che l'attore abbia impersonato FortiManager via FGFM, forse tramite CVE-2024-26009 e CVE-2024-26008 — i log rilevanti non sono stati catturati, quindi il meccanismo esatto è non confermato.
- L'attribuzione. Unit 42 segnala sovrapposizioni con attività sospetta di stato-nazione ma non nomina un governo specifico.
Dove si colloca Zero Hunt
Un impianto che modifica il daemon di logging, non apre porte e non chiama mai all'esterno per conto proprio è esattamente lo scenario dietro il pilastro AI Traffic Analysis di Zero Hunt. Una volta che i registri dell'host non sono più affidabili, il filo è l'unico testimone onesto — e questa intrusione ha toccato il filo: le config di sniffer spinte ai FortiGate a valle, i login SSL-VPN da IP di staging, la reverse shell ACME che raggiunge 23.240.77[.]233:8084. Il modello di deep learning di Zero Hunt gira quattro teste di inferenza su miliardi di sequenze PCAP, localmente sulla GPU dell'apparato a velocità multi-gigabit, segnalando la sessione anomala verso una destinazione mai vista mentre accade — non in un digest SIEM che l'impianto ha già cancellato.
Poiché il vero fallimento qui è che la patch non annulla il furto, l'AI Remediation Advisor porta il seguito: ordina per esploitabilità reale (KEV per prima, e questo CVE ora è in lista), consegna il build corretto esatto per branch con note di rollout e rollback e il controllo compensativo dell'ACL di management e — cosa decisiva — segnala il materiale di fiducia rubato come vivo finché non viene ruotato, poi riverifica la fix con la stessa prova che ha dimostrato l'esposizione. Tutto questo gira come un red team AI autonomo on-premise su modelli privati, con un umano nel loop per ogni azione che conta, e ogni evidenza firmata al momento della scrittura per la catena di custodia — su un apparato dove, a differenza del firewall di questa storia, niente può riscrivere in silenzio i propri log.
Tutte le vulnerabilità che CISA segnala come sfruttate, con le scadenze federali: tracker CISA KEV →
Una patch per ogni CVE? Un programma CTEM verifica quali esposizioni sono davvero sfruttabili prima del prossimo advisory: cos'è il CTEM →
È sfruttabile nel tuo ambiente?
Zero Hunt lo verifica sulla tua rete: un red team AI autonomo su un'appliance on-premise, con AI privata, in black box o gray box e con una persona che approva ogni passo che conta. La prova di cosa è sfruttabile, la correzione e le evidenze firmate — nessun dato esce dal tuo perimetro.