Nginx 1.25.4 risolve due vulnerabilità HTTP/3

È stato rilasciato il ramo principale di nginx 1.25.4, all'interno del quale continua lo sviluppo di nuove funzionalità. Il ramo stabile 1.24.x mantenuto in parallelo contiene solo modifiche relative all'eliminazione di bug e vulnerabilità gravi. In futuro, sulla base del ramo principale 1.25.x, verrà formato un ramo stabile 1.26. Il codice del progetto è scritto in C e distribuito sotto la licenza BSD.

La nuova versione risolve due vulnerabilità nel modulo sperimentale http_v3_module (disabilitato per impostazione predefinita), che fornisce supporto per il protocollo HTTP/3, che utilizza il protocollo QUIC come trasporto per HTTP/2. La prima vulnerabilità (CVE-2024-24989) è causata da un dereferenziamento del puntatore nullo e la seconda (CVE-2024-24990) è causata dall'accesso alla memoria dopo la liberazione (CVE-2024-24990). Il registro delle modifiche afferma che entrambe le vulnerabilità possono portare solo a un arresto anomalo durante l'elaborazione di sessioni QUIC appositamente progettate, ma la seconda vulnerabilità non sembra essere stata analizzata per conseguenze più gravi.

Oltre a risolvere le vulnerabilità, la nuova versione include anche miglioramenti generali e correzioni all'implementazione HTTP/3, oltre a correggere i bug relativi a perdite di socket, errori di socket o arresti anomali durante l'utilizzo di AIO. È stato risolto un problema relativo alla chiusura prematura delle connessioni con operazioni AIO in sospeso durante l'arresto graduale dei vecchi processi di lavoro. Risolto un crash durante il reindirizzamento degli errori con codice 415 utilizzando la direttiva error_page quando si utilizza il proxy SSL e la direttiva image_filter.

Inoltre, pochi giorni fa, è stato rilasciato njs 0.8.4, un interprete JavaScript per il web server nginx. L'interprete njs implementa gli standard ECMAScript e consente di espandere la capacità di nginx di elaborare le richieste utilizzando gli script nella configurazione. Gli script possono essere utilizzati in un file di configurazione per definire la logica avanzata per l'elaborazione delle richieste, la generazione di una configurazione, la generazione dinamica di una risposta, la modifica di una richiesta/risposta o la creazione rapida di stub per risolvere problemi nelle applicazioni web. La nuova versione contiene solo correzioni di bug.

Fonte: opennet.ru

Aggiungi un commento