È stata pubblicata la versione principale di nginx 1.31.5, nella quale continuano lo sviluppo di nuove funzionalità. Nella stabilizzazione parallela della versione 1.30.x vengono apportate solo modifiche relative alla risoluzione di errori gravi e vulnerabilità. In seguito, sulla base della versione principale 1.31.x sarà formata la versione stabile 1.32. Il codice del progetto è scritto in linguaggio C ed è distribuito sotto licenza BSD.
Nel nuovo rilascio:
- Aggiunto il Rest API per la gestione esterna, che consente di ricaricare la configurazione da remoto, ottenere dati sulle impostazioni e visualizzare lo stato dei processi di lavoro. Per attivare il supporto API, è prevista un'opzione di compilazione «--with-control-api» e un argomento della riga di comando «-l». Si consiglia di legare l'API a un socket unix (nginx -l unix:/path/to/sock). Per accedere all'API, è possibile utilizzare l'utilità Curl.
- Aggiunta la possibilità di utilizzare una variabile che inizia con il simbolo «$» come valore per la direttiva Location. Il valore della variabile, calcolato al momento dell'esecuzione, determina le condizioni di ingresso nel blocco Location. Tali Location possono essere utilizzate all'interno di altri blocchi Location o contenere Location annidate. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
- Implementato il modulo ngx_http_json_module, che offre funzionalità per l'analisi dei dati in formato JSON, estraendo singoli campi dal JSON e utilizzando questi campi come variabili nella configurazione di nginx.
- Aggiunta la direttiva «client_body_early_read», il cui attivamento porta alla lettura del corpo della richiesta immediatamente dopo la ricezione degli header.
È contemporaneamente disponibile il rilascio di njs 1.0.1, un modulo per l'integrazione dell'interprete del linguaggio JavaScript nel server http nginx. Njs consente di utilizzare script JavaScript nei file di configurazione per ampliare le funzionalità di nginx. Gli script possono essere utilizzati per definire logiche avanzate di elaborazione delle richieste, generazione della configurazione, generazione dinamica delle risposte, modifica delle richieste/risposte o per creare rapidamente stub per risolvere problemi nelle applicazioni web. Il codice del progetto è scritto in C ed è distribuito sotto licenza BSD.
Nella versione njs 1.0.1 sono state risolte tre vulnerabilità: overflow del buffer nella funzione xml.exclusiveC14n (CVE-2026-78689), bypass delle restrizioni di accesso tramite js_access (CVE-2026-18329) e crash del processo di lavoro tramite manipolazioni con ngx.fetch (CVE-2026-78222).
Fonte: opennet.ru
