f5 big ip apm cve 2026 94127 nextjs imageresponse rce

F5 BIG-IP APM sotto attacco e Next.js espone una RCE critica in ImageResponse

🛡️ Executive Summary

  • F5 BIG-IP APM corregge CVE-2026-94127, heap-based buffer overflow sfruttata attivamente per ottenere RCE senza autenticazione in configurazioni OAuth specifiche.
  • Next.js corregge CVE-2026-94545, vulnerabilità critica CVSS 9.5 nella versione Node.js di ImageResponse che può portare a code execution tramite valori controllati dall’attaccante inseriti nell’SVG generato.
  • Nel caso F5 bisogna cercare compromissioni pregresse oltre a patchare; nel caso Next.js il rischio riguarda soltanto applicazioni che usano ImageResponse su Node.js con input non fidato.

Due vulnerabilità critiche colpiscono contemporaneamente infrastrutture molto diverse ma accomunate dalla possibilità di trasformare input remoto in esecuzione di codice. F5 ha corretto CVE-2026-94127, una zero-day BIG-IP Access Policy Manager già sfruttata in attacchi reali e capace di fornire RCE senza autenticazione quando APM opera come OAuth Authorization Server. Next.js affronta invece CVE-2026-94545, falla CVSS 9.5 nell’implementazione Node.js di ImageResponse: valori controllati dall’attaccante possono entrare nel markup SVG generato da Satori e arrivare fino all’esecuzione di codice sul server. I due casi richiedono però risposte differenti: su F5 la patch non basta se l’appliance è già stata compromessa; su Next.js serve prima capire se l’applicazione usa davvero il percorso vulnerabile.

F5 BIG-IP APM espone una RCE senza autenticazione già sfruttata

Annuncio

CVE-2026-94127 è una heap-based buffer overflow in BIG-IP APM. La vulnerabilità si manifesta quando sullo stesso virtual server sono configurati un access policy APM e un profilo OAuth, con il sistema utilizzato come OAuth Authorization Server. Traffico costruito appositamente può quindi raggiungere remote code execution senza richiedere credenziali. F5 chiarisce inoltre che il problema è nel data plane, non nel control plane, e che anche Appliance mode è vulnerabile. Il perimetro è quindi più ristretto dell’intera base installata BIG-IP. Deployment che utilizzano APM soltanto come OAuth Client o Resource Server, senza Authorization Server profile, non risultano interessati. Ma dove la configurazione vulnerabile esiste, l’impatto è massimo: un attaccante remoto può raggiungere esecuzione di codice direttamente su un’appliance collocata spesso sul perimetro aziendale. F5 ha confermato lo sfruttamento in the wild e CISA ha inserito CVE-2026-94127 nel catalogo KEV. CERT-EU raccomanda non soltanto l’applicazione immediata degli hotfix, ma anche la preservazione delle evidenze forensi, proprio perché il rischio non è più teorico. Il contesto rende la situazione ancora più sensibile. Pochi giorni fa BIG-IP APM era già emerso in compromissioni con rootkit Linux e web shell in-memory, scenario collegato a un’altra vulnerabilità, CVE-2025-53521. Il nuovo zero-day non va quindi confuso con quella campagna, ma conferma che APM resta una superficie ad altissimo valore per chi cerca persistenza sul perimetro.

Leggi anche: F5 BIG-IP APM era già sotto pressione con RCE e persistenza su appliance edge

Il rischio operativo è cercare la compromissione prima ancora della patch

Quando una vulnerabilità entra nel KEV e il vendor conferma exploitation reale, aggiornare la versione è soltanto il primo passo. F5 indica come segnali sospetti ripetuti fallimenti di autenticazione OAuth seguiti da comandi anomali e da un crash TMM con SIGABRT. Chi individua questo pattern dovrebbe trattare l’appliance come potenzialmente compromessa e avviare attività di hunting e analisi forense. Per chi non può applicare immediatamente l’hotfix, F5 rende disponibile tramite supporto una mitigazione basata su iRule da applicare al virtual server APM interessato. Resta però una misura temporanea: la vulnerabilità è una memory corruption e non un semplice errore di configurazione risolvibile modificando una policy. La distinzione è importante perché le appliance perimetrali rappresentano uno dei punti peggiori nei quali lasciare una compromissione latente. Una volta ottenuta esecuzione di codice, un attaccante può sfruttare la posizione privilegiata dell’apparato per intercettare autenticazioni, sessioni e traffico destinato alle applicazioni interne.

Next.js ImageResponse trasforma input SVG in una possibile RCE

Il secondo problema riguarda un livello completamente diverso dello stack. CVE-2026-94545 interessa ImageResponse di next/og, funzione utilizzata per generare immagini Open Graph e altri asset dinamici lato server. La vulnerabilità è classificata Critical con CVSS 9.5 e interessa Next.js dalla 16.2.0 fino alla 16.3.5 quando viene utilizzata l’implementazione Node.js. La correzione è disponibile in 16.3.6. Il problema deriva da una dipendenza upstream. ImageResponse utilizza Satori per trasformare il layout React in SVG prima della rasterizzazione finale. In alcune condizioni, valori controllati dall’attaccante inseriti in contenuto SVG, attributi o stili non vengono escapati correttamente e possono quindi essere interpretati come markup anziché come semplice testo. Il caso tipico è semplice: un route handler legge un parametro dalla URL e lo inserisce direttamente dentro l’SVG prodotto da ImageResponse. Se quel valore è sotto il controllo dell’utente e arriva nel percorso vulnerabile, può innescare una catena che Vercel considera capace di terminare in remote code execution sul server Node.js.

Non tutte le applicazioni Next.js sono vulnerabili

La vulnerabilità non colpisce automaticamente ogni applicazione Next.js. L’advisory Vercel delimita chiaramente tre condizioni: deve essere utilizzata ImageResponse, l’implementazione deve girare sul runtime Node.js e l’applicazione deve inserire valori controllati dall’attaccante dentro contenuto, attributi o stili SVG. L’implementazione Edge di ImageResponse non è interessata, così come le applicazioni che non espongono input non fidato in quel percorso. Anche Next.js 15 non è interessato dalla RCE. Vercel ha comunque pubblicato 15.5.26 con hardening aggiuntivo per next/og, mentre per la linea 16 la versione da installare è 16.3.6. Se l’upgrade non è immediatamente possibile, il workaround indicato è netto: non passare valori controllati dall’utente a contenuto SVG, attributi o stili generati da ImageResponse su Node.js. È una mitigazione applicativa, non un filtro infrastrutturale.

Il bug è in Satori ma l’impatto dipende da come viene usato

La differenza tra l’advisory Next.js e quello upstream Satori è istruttiva. Satori considera lo stesso problema di escaping una vulnerabilità di gravità inferiore, perché l’impatto dipende dal modo in cui l’SVG risultante viene successivamente elaborato. In Next.js, invece, il percorso completo attraversa dipendenze che possono trasformare quell’SVG malevolo in un problema server-side molto più grave. È un esempio classico di vulnerabilità emergente dalla composizione delle dipendenze: una falla moderata in una libreria può diventare critica quando viene integrata in una pipeline che offre capacità ulteriori. Per questo controllare soltanto la severità del componente upstream non basta; bisogna valutare l’intera catena applicativa.

Continua con:

Next.js aveva già corretto RCE critiche su Windows-hosted server nell’agosto 2026

F5 BIG-IP APM mostra perché patchare l’edge non basta dopo una compromissione

Due RCE critiche ma priorità operative molto diverse

F5 e Next.js finiscono nello stesso bollettino soltanto perché condividono l’effetto finale: code execution da remoto. Operativamente, però, rappresentano scenari quasi opposti. Su BIG-IP APM l’urgenza è massima perché l’exploitation è confermata. Bisogna verificare configurazioni OAuth, applicare l’hotfix e cercare indicatori di compromissione. Su Next.js la priorità dipende invece dall’architettura dell’applicazione: chi non usa ImageResponse su Node.js con input controllato dall’utente non espone quel percorso specifico, mentre chi lo usa deve passare immediatamente alla 16.3.6. Il filo comune è più profondo: il componente esposto non è sempre quello in cui nasce il bug. In F5 una memory corruption nel data plane diventa accesso al perimetro aziendale; in Next.js un difetto upstream nell’escaping SVG diventa RCE perché attraversa una pipeline di rendering più complessa. La superficie moderna è fatta di composizione: protocolli, librerie, runtime, reverse proxy e appliance. Ed è proprio nella composizione che una vulnerabilità apparentemente circoscritta può acquistare impatto sistemico.

Iscriviti alla Newsletter

Non perdere le analisi settimanali: Entra nella Matrice Digitale.

Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.

Torna in alto