È stata pubblicata la nuova versione principale di nginx 1.29.1, che continua a sviluppare nuove funzionalità. Nella branch stabile 1.28.x, invece, vengono apportate solo modifiche legate alla correzione di errori gravi e vulnerabilità. In futuro, la stable branch 1.30 sarà formata sulla base della versione principale 1.29.x. Il codice del progetto è scritto in C e distribuito sotto licenza BSD.
Nel nuovo rilascio:
- È stata corretta una vulnerabilità (CVE-2025-53859) nel modulo ngx_mail_smtp_module, che portava alla lettura di dati da area di memoria al di fuori del buffer durante l'elaborazione di valori di login e password formattati in modo specifico utilizzando il metodo di autenticazione «none». Questa vulnerabilità può portare alla fuoriuscita del contenuto della memoria del processo nginx in una richiesta HTTP a un'authenticazione esterna. Patch. server autenticazione. Patch.
- Per impostazione predefinita, la compressione dei certificati TLSv1.3 è disabilitata.
- È stata aggiunta la direttiva «ssl_certificate_compression» per controllare la compressione. certificati TLS..
- Nell'implementazione del protocollo QUIC è stato aggiunto il supporto per la modalità 0-RTT, disponibile sui sistemi con OpenSSL 3.5.1 e versioni più recenti.
- È stato corretto un errore che portava alla bufferizzazione della risposta HTTP 103 durante l'uso di HTTP/2 e della direttiva «early_hints».
- È stato corretto un errore nel gestore del parametro «none» nella direttiva «smtp_auth».
- Nell'implementazione di HTTP/3 è stato risolto il problema con la gestione del numero di porta nell'intestazione «Host».
- È stata risolta una problematica che si manifestava quando si usavano valori identici nelle intestazioni «Host» e «:authority» durante l’uso di HTTP/2.
- È stata ottimizzata la compilazione su NetBSD 10.0.
F5 ha inoltre presentato una release preliminare del modulo ngx_http_acme, che offre funzionalità per l'automazione della richiesta, ottenimento e aggiornamento di certificati utilizzando il protocollo ACMEv2 (Automatic Certificate Management Environment), utilizzato dall'autorità di certificazione Let’s Encrypt. Con http_acme, gli amministratori non devono preoccuparsi dell'aggiornamento dei certificati, poiché il modulo otterrà autonomamente i certificati necessari da Let’s Encrypt o da un altro servizio che supporta il protocollo ACME, in base alle impostazioni di configurazione. Il codice del modulo è scritto in Rust utilizzando l'SDK NGINX-Rust. acme_issuer letsencrypt { uri https://acme-v02.api.letsencrypt.org/directory; state_path /var/cache/nginx/acme-letsencrypt; accept_terms_of_service; } server { listen 80; # ACME HTTP-01 challenge location / { return 404; } } server { listen 443 ssl; server_name .example.com; acme_certificate letsencrypt; ssl_certificate $acme_certificate; ssl_certificate_key $acme_certificate_key; ssl_certificate_cache max=2; }
Fonte: opennet.ru
