ADSENSE
|
Questo post é stato letto 190 volte!
La vulnerabilità CVE-2026-42945, denominata Nginx rift esecuzione codice, è presente in NGINX dal 2008 ma è emersa solo di recente.
Si tratta di un heap overflow nel modulo rewrite che può consentire l’esecuzione di codice da remoto (RCE).
Questa scoperta ha attirato l’attenzione della comunità di sicurezza, data la centralità di NGINX nell’infrastruttura Internet globale.
La scoperta di nginx rift e la sua gravità
Il traffico web mondiale dipende in larga parte da NGINX, utilizzato come server web, CDN, reverse proxy, e in molte altre applicazioni.
Il bug Nginx rift, una falla di tipo heap buffer overflow nel modulo ngxhttprewrite_module, è rimasto sconosciuto per quasi 18 anni.
Questa vulnerabilità non si limita a causare crash del worker di NGINX, ma in configurazioni specifiche può portare all’esecuzione di codice da remoto senza autenticazione.
La sua gravità è accentuata dal fatto che interessa componenti di configurazione NGINX ampiamente diffusi, come le direttive rewrite, le variabili di cattura PCRE e la gestione dei parametri URI.
Versioni di NGINX interessate e correzioni
Le versioni open source di NGINX vulnerabili vanno dalla 0.6.27 alla 1.30.0.
Le versioni corrette sono la 1.30.1 e la 1.31.0.
Anche NGINX Plus ha ricevuto patch dedicate per le release R32-R36. È fondamentale verificare la propria versione di NGINX e procedere con gli aggiornamenti necessari.
Il modulo rewrite di NGINX e la vulnerabilità
Il motore rewrite di NGINX è noto per la sua potenza, permettendo manipolazioni avanzate degli URI, riscrittura di parametri query, redirect interni e logica condizionale tramite direttive come rewrite, set e if.
La vulnerabilità risiede proprio nel motore di scripting interno utilizzato per elaborare queste regole.
NGINX calcola la dimensione del buffer necessaria in una prima fase e poi copia i dati nel buffer heap allocato.
Come avviene l’overflow
I ricercatori di DepthFirst AI hanno dimostrato che, con una specifica gestione delle espressioni regolari e una stringa di sostituzione contenente il carattere “?”, alcuni caratteri speciali possono occupare fino a tre byte anziché uno.
Questo porta a un’allocazione di memoria insufficiente rispetto alla quantità reale di dati, causando un heap overflow.
Tale condizione può essere sfruttata tramite URI appositamente creati per attivare la vulnerabilità.
Dall’overflow all’esecuzione di codice dannoso
Mentre molti heap overflow si risolvono con un semplice crash, Nginx rift presenta caratteristiche che rendono lo sfruttamento decisamente più critico.
Il proof of concept dei ricercatori utilizza una tecnica per modellare la disposizione degli oggetti heap attraverso richieste HTTP multiple, posizionando strutture critiche accanto al buffer vulnerabile, in particolare ngxpoolt, il cuore dell’allocatore memory pool di NGINX.
Complessità e ambienti a rischio
La sfruttabilità del bug dipende dalla configurazione specifica del sistema; con ASLR attivo, l’esecuzione di codice da remoto diventa più complessa.
Tuttavia, ambienti come i container Docker e i cluster Kubernetes sono particolarmente a rischio, dato che spesso distribuiscono release NGINX non aggiornate o includono direttive rewrite vulnerabili in configurazioni personalizzate.
Patch, mitigazioni e verifiche operative
Le correzioni ufficiali sono disponibili nelle versioni NGINX 1.31.0 e 1.30.1, e per NGINX Plus nelle release R36 P4, R35 P2 e R32 P6. È essenziale verificare la versione installata con il comando “nginx -v” e analizzare le configurazioni per direttive rewrite che utilizzano capture anonime e replacement string con query arguments.
Consigli per la sicurezza
I gestori di infrastrutture esposte pubblicamente dovrebbero controllare anche i backport dei vendor e le appliance di terze parti, i WAF integrati e gli ingress controller basati su NGINX, dove il componente vulnerabile potrebbe essere incluso come dipendenza interna.
Un bug longevo che evidenzia le sfide del software infrastrutturale
Nginx rift è un esempio lampante di come vulnerabilità apparentemente sottili possano persistere per anni in codice consolidato.
Il fatto che questo bug sia sfuggito a review manuali e test funzionali tradizionali, emergendo solo grazie a sistemi di analisi basati su AI, sottolinea la crescente importanza di approcci automatizzati per la scoperta di falle complesse.
Questo evidenzia come l’intelligenza artificiale possa individuare bug che gli strumenti convenzionali non riescono a rilevare, nonostante il “rumore” di false segnalazioni che a volte produce.
Questo post é stato letto 190 volte!