È stata rilasciata la versione principale di nginx 1.25.4, che prosegue lo sviluppo di nuove funzionalità. Nella corrispondente versione stabile 1.24.x vengono apportate solo modifiche legate alla correzione di gravi errori e vulnerabilità. In futuro, sulla base della versione principale 1.25.x sarà creata la versione stabile 1.26. Il codice del progetto è scritto in linguaggio C ed è distribuito sotto licenza BSD.
Nella nuova versione sono state corrette due vulnerabilità nel modulo sperimentale http_v3_module (disattivato per impostazione predefinita), che fornisce supporto per il protocollo HTTP/3, utilizzando il protocollo QUIC come trasporto per HTTP/2. La prima vulnerabilità (CVE-2024-24989) è causata dalla dereferenza di un puntatore nullo, mentre la seconda (CVE-2024-24990) riguarda l'accesso alla memoria dopo che è stata liberata. Nella lista delle modifiche si afferma che entrambe le vulnerabilità possono portare solo a un'improvvisa terminazione del processo durante la gestione di sessioni QUIC appositamente formattate, ma per la seconda vulnerabilità apparentemente non è stata effettuata un'analisi di conseguenze più gravi.
Oltre alla correzione delle vulnerabilità, la nuova versione include anche miglioramenti generali e correzioni nell'implementazione di HTTP/3, nonché la risoluzione di errori legati a perdite di socket, problemi di socket o crash durante l'uso di AIO. È stato risolto un problema con la chiusura prematura di connessioni con operazioni AIO non completate durante la chiusura dolce dei vecchi processi di lavoro. È stata risolta la chiusura improvvisa durante il reindirizzamento degli errori con codice 415 utilizzando la direttiva error_page, nel caso in cui venga utilizzato SSL-proxying e la direttiva image_filter.
Inoltre, pochi giorni fa è stata rilasciata la njs 0.8.4, l'interprete del linguaggio JavaScript per il server web. nginx. L'interprete njs implementa gli standard ECMAScript e consente di estendere le capacità di nginx nella gestione delle richieste tramite script nella configurazione. Gli script possono essere utilizzati nel file di configurazione per definire logiche avanzate di gestione delle richieste, generare configurazioni, generare risposte dinamiche, modificare richieste/riposte o creare rapidamente stub per risolvere problemi nelle applicazioni web. Nella nuova versione è stato segnalato solo un bug fix.
Fonte: opennet.ru
