Venti Anni di Bug Nginx: Perché NGINX Rift Ti Impone un Patch Immediato
NGINX Rift: Una Vulnerabilità Vecchia di 18 Anni Che Ti Obbliga a Patchare Subito
Il codice vecchio è sempre un rischio. Ma se resta nascosto per 18 anni in un web server come Nginx, usato da milioni di siti? È un problema serio.
F5 ha appena rilasciato patch per quattro vulnerabilità Nginx. La più grave, CVE-2026-42945 (chiamata "NGINX Rift" dai ricercatori di depthfirst), ha un CVSS di 9.2. Motivo sufficiente per aggiornare i server oggi stesso.
Perché È Così Pericolosa: Il Mix Perfetto
Ecco i dettagli che la rendono critica:
Il Difetto: Un buffer overflow nel modulo rewrite, presente dalla versione 0.6.27 del 2008. Risale a un'era pre-Docker, pre-smartphone moderni.
Come Colpirla: Basta una richiesta HTTP malformata da un attaccante non autenticato. Niente trucchi complessi.
Gli Effetti: Senza ASLR, è esecuzione remota di codice. Con ASLR, denial of service costante: i worker crashano e ripartono all'infinito.
Punteggio CVSS: 9.2, quasi il massimo.
Come Ha Sopravvissuto Tanto Tempo?
Nginx usa PCRE per i rewrite. Se usi catture non nominate ($1, $2) seguite da un altro rewrite, if o set, il codice sfora la memoria heap. Un classico overflow, sfuggito a review e test per due decenni.
Prova che anche progetti open source solidi come Nginx nascondono sorprese. Con tanti server in uso, il danno potenziale è enorme.
Chi Deve Muoversi Immediatamente
Utenti NGINX Plus: Per R32-R36, applica R32 P6 o R36 P4.
Utenti Open Source: Da 1.0.0 a 1.30.0 vulnerabili. Passa a 1.30.1 o 1.31.0.
Eccezione Drammatica: Versioni 0.6.27-0.9.7 (EOL da anni) non hanno patch. Aggiorna tutto.
Mitigazione Temporanea Se Non Puoi Patchare
In fase di freeze o con dipendenze vecchie, modifica i rewrite:
Sostituisci catture non nominate con nominate. Usa (?<nome>...) invece di $1.
Esempio:
# Rischioso
rewrite ^/user/([0-9]+)$ /profile?id=$1 last;
# Più sicuro (provvisorio)
rewrite ^/user/(?<id>[0-9]+)$ /profile?id=$id last;
È un cerotto. Priorità alla patch vera.
Le Altre Tre Vulnerabilità Patchate
NGINX Rift ruba la scena, ma F5 ha fixato anche:
- CVE-2026-42946 (CVSS 8.3): Allocazione memoria eccessiva in SCGI/uWSGI, DoS su proxy specifici.
- CVE-2026-40701 (CVSS 6.3): Use-after-free nel modulo SSL con verify_client e OCSP.
- CVE-2026-42934 (CVSS 4.8): Lettura fuori bounds nel modulo charset.
Pianificale presto, ma Rift prima.
Lezioni per la Sicurezza dell'Infrastruttura
Questo caso urla verità scomode:
- Fama non è sicurezza. Nginx è ovunque, ma bug antichi persistono.
- Vecchio non è sinonimo di testato. Anni accumulano rischi.
- La patch più lenta ti espone. Un server non aggiornato rovina tutto.
- Monitora sempre. Il DoS è immediato, anche con ASLR.
In Breve: Agisci Ora
Nginx Open Source o Plus? Queste patch sono un'emergenza. Età estrema, attacco facile, impatto alto: prioritala su tutto.
Aggiorna questa settimana. Testa in staging, ma non rimandare in produzione. Il rischio di non farlo è troppo grande per un software stabile come Nginx.
E approfitta per rivedere config, rewrite e versioni sparse nella tua infra. Meglio prevenirne 18 di queste.
State al sicuro.