Bol uvoľnený hlavný verziový vydanie nginx 1.29.1, v ktorom pokračuje rozvoj nových možností. Stabilná vetva 1.28.x, ktorá sa podporuje paralelne, prijíma len opravy vážnych chýb a zraniteľností. V budúcnosti bude na základe hlavnej vetvy 1.29.x vytvorená stabilná vetva 1.30. Kód projektu je napísaný v jazyku C a šíri sa pod licenciou BSD.
V novom vydaní:
- Opravená zraniteľnosť (CVE-2025-53859) v module ngx_mail_smtp_module, ktorá vedie k čítaniu údajov z pamäte mimo vyrovnávacieho priestoru pri spracovaní špeciálne formátovaných hodnôt prihlasovacieho mena a hesla pri použití metódy autentifikácie „none“. Zraniteľnosť môže viesť k úniku obsahu pamäte pracovného procesu nginx v HTTP požiadavke na vonkajší. serveru autentifikáciu. Oprava.
- Predvolene je vypnuté kompresovanie certifikátov TLSv1.3.
- Pridaná direktíva „ssl_certificate_compression“ na riadenie kompresie TLS-certifikátov.
- Do implementácie protokolu QUIC bola pridaná podpora režimu 0-RTT, ktorá je dostupná na systémoch s OpenSSL 3.5.1 a novšími verziami.
- Opravená chyba, ktorá spôsobovala vyrovnávanie HTTP odpovede 103 pri použití HTTP/2 a direktívy „early_hints“.
- Opravená chyba v spracovateľovi parametra „none“ v direktíve „smtp_auth“.
- V implementácii HTTP/3 bola vyriešená otázka s spracovaním čísla portu v hlavičke „Host“.
- Opravený problém, ktorý sa objavoval pri použití rovnakých hodnôt v hlavičkách „Host“ a „:authority“ pri použití HTTP/2.
- Nastavené zostavenie v NetBSD 10.0.
Spoločnosť F5 tiež predstavila predbežnú verziu modulu ngx_http_acme, ktorý poskytuje možnosti na automatizáciu žiadostí o certifikáty, ich získavanie a obnovu pomocou protokolu ACMEv2 (Automatic Certificate Management Environment), ktorý používajú certifikačné autority Let’s Encrypt. Pri použití http_acme administrátorom nie je potrebné sa starať o obnovu certifikátov, na základe parametrov v konfigurácii modul sám získa potrebné certifikáty z Let’s Encrypt alebo inej služby, ktorá podporuje protokol ACME. Kód modulu je napísaný v jazyku Rust s použitím 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; }
Zdroj: opennet.ru
