I bug nell’infrastruttura web rimangono particolarmente pericolosi quando rimangono nella logica di gestione delle richieste ampiamente implementata per anni senza rilevamento. Tra le ultime vulnerabilità che impattano NGINX Plus e NGINX Open, la vulnerabilità CVE-2026-42945 si distingue come un overflow del buffer di heap vecchio di 18 anni nel modulo ngx_http_rewrite_module raggiungibile da un aggressore non autenticato tramite richieste HTTP appositamente create che può portare al diniego del servizio o, in alcuni casi, all’esecuzione di codice remoto. I report pubblici citano un punteggio CVSS v4 di 9.2 e si riferiscono al problema come NGINX Rift.
Dal punto di vista di un difensore, i dettagli più importanti per CVE-2026-42945 sono il pattern di configurazione interessato e il percorso di patch. L’analisi pubblica di CVE-2026-42945 mostra che il difetto è esposto quando una direttiva rewrite utilizza una cattura PCRE non nominata come $1 o $2, include una stringa di sostituzione con un punto interrogativo, ed è seguita da un’altra direttiva rewrite, if, o set nello stesso scope.
Analisi CVE-2026-42945
A livello tecnico, la vulnerabilità in CVE-2026-42945 è causata dalla logica di escaping incoerente nel motore di rewrite. Depthfirst spiega che NGINX calcola la lunghezza del buffer di destinazione sotto un insieme di ipotesi e poi copia i dati sotto un altro, quindi i byte derivati dall’URI controllato dall’attaccante possono superare il buffer di heap allocato nel processo lavoratore.
In termini pratici, il payload pubblico CVE-2026-42945 non è un binario o script rilasciato, ma una richiesta HTTP appositamente costruita che raggiunge una regola di riscrittura vulnerabile e attiva la corruzione deterministica dell’heap. F5 afferma che ciò può riavviare il processo lavoratore, mentre i report pubblici aggiungono che l’esecuzione di codice può anche essere possibile, in particolare sui sistemi dove ASLR è disabilitato.
La divulgazione è notevole perché una relazione tecnica e una spiegazione della causa radice sono state rilasciate insieme all’avviso, e depthfirst afferma esplicitamente che la sua analisi completa include un poc CVE-2026-42945 e un walkthrough della patch. Allo stesso tempo, i materiali del fornitore e del ricercatore dichiarano che non erano a conoscenza di sfruttamenti in natura al momento della divulgazione.
L’esposizione è ampia perché CVE-2026-42945 interessa le versioni di NGINX Open Source dalla 0.6.27 alla 1.30.0 e NGINX Plus R32 fino a R36. La pagina degli avvisi di sicurezza nginx elenca anche ulteriori prodotti F5 e NGINX interessati costruiti intorno allo stesso codice base, mentre le release open source corrette sono 1.30.1 e 1.31.0.
Mitigazione CVE-2026-42945
La priorità per la mitigazione CVE-2026-42945 è aggiornare a una versione corretta. Per NGINX Open Source, ciò significa passare alla 1.30.1 o 1.31.0. Per NGINX Plus, le correzioni sono state introdotte in R32 P6 e R36 P4. Depthfirst consiglia inoltre di riavviare NGINX dopo l’aggiornamento in modo che i processi lavoratori ricarichino il binario patchato.
Per rilevare l’esposizione a CVE-2026-42945, i difensori dovrebbero esaminare le configurazioni NGINX per direttive rewrite che combinano catture non nominate con una stringa di sostituzione contenente ?, seguite da rewrite, if, o set nello stesso scope. Questo è il punto di partenza più pratico per la rilevazione di CVE-2026-42945, perché il difetto dipende da un pattern di configurazione specifico e comune piuttosto che semplicemente dalla presenza di NGINX.
Se non è possibile applicare patches immediate, sia F5 che depthfirst consigliano di sostituire catture non nominate come $1 e $2 con catture nominate in ogni direttiva di riscrittura interessata. Non ci sono ioc CVE-2026-42945 pubblicati dal vendor nei materiali citati, quindi i difensori dovrebbero concentrarsi sull’inventario delle versioni, la revisione delle configurazioni, i riavvii inattesi dei lavoratori e i patterns di richieste HTTP sospette che colpiscono la logica di riscrittura vulnerabile.
FAQ
Cos’è CVE-2026-42945 e come funziona?
CVE-2026-42945 è un overflow del buffer di heap nel modulo ngx_http_rewrite_module di NGINX. Viene attivato da uno specifico pattern di regola di riscrittura che coinvolge catture regex non nominate e una stringa di sostituzione contenente un punto interrogativo, che può causare un overflow dei dati URI controllati dall’attaccante nel heap del processo lavoratore.
Quando è stato scoperto per la prima volta CVE-2026-42945?
I report pubblici affermano che il problema è stato divulgato in modo responsabile il 21 aprile 2026 e depthfirst riferisce che F5 ha confermato, patchato e pubblicato l’avviso coordinato il 13 maggio 2026.
Qual è l’impatto di CVE-2026-42945 sui sistemi?
L’impatto immediato è il diniego del servizio tramite crash o loop di riavvio del processo lavoratore. In condizioni favorevoli aggiuntive, i report pubblici e i materiali dei ricercatori affermano che il bug può anche consentire l’esecuzione di codice remoto nel processo lavoratore NGINX.
CVE-2026-42945 può ancora colpirmi nel 2026?
Sì. I sistemi possono ancora essere esposti nel 2026 se eseguono versioni vulnerabili di NGINX e utilizzano il pattern di configurazione di riscrittura interessato, specialmente se non sono stati ancora aggiornati alla 1.30.1, 1.31.0 o alla relativa build fissa di NGINX Plus.
Come posso proteggermi da CVE-2026-42945?
Aggiorna a una versione fissa, riavvia NGINX dopo la patch, e controlla le regole di riscrittura per catture non nominate seguite da rewrite, if, o set quando la stringa di sostituzione include ?. Se deve essere ritardata la patch, sostituire le catture non nominate con catture nominate come soluzione temporanea.