Обявен е новият основен релийз на nginx 1.29.1, в който продължава развитието на нови функционалности. В успоредно поддържаната стабилна версия 1.28.x се въвеждат само промени, свързани с отстраняване на сериозни грешки и уязвимости. В бъдеще на базата на основната версия 1.29.x ще бъде създадена стабилна версия 1.30. Кодът на проекта е написан на езика C и се разпространява под лиценза BSD.
В новото издание:
- Устранена уязвимост (CVE-2025-53859) в модула ngx_mail_smtp_module, което води до четене на данни от паметта извън буфера при обработка на специално форматирани стойности на логин и парола при използване на метода за удостоверяване «none». Уязвимостта може да причини изтичане на съдържанието на паметта на работния процес на nginx в HTTP заявка към външен. сървър аутентификация. Патч.
- По подразбиране е деактивирана компресията на сертификати TLSv1.3.
- Добавена е директива «ssl_certificate_compression» за управление на компресията. на TLS сертификати.
- В реализацията на протокола QUIC е добавена поддръжка на режима 0-RTT, налична на системи с OpenSSL 3.5.1 и по-нови версии.
- Устранена е грешка, която водеше до буфериране на HTTP отговор 103 при използване на HTTP/2 и директивата «early_hints».
- Устранена е грешка в обработчика на параметъра «none» в директивата «smtp_auth».
- В реализацията на HTTP/3 е решен проблемът с обработката на номера на порта в заглавката «Host».
- Устранен е проблемът, проявяващ се при използване на еднакви стойности в заглавките «Host» и «:authority» при използване на HTTP/2.
- Настройка на компилацията в NetBSD 10.0.
Поотделно компанията F5 представи предварителната версия на модула ngx_http_acme, който предоставя възможности за автоматизация на заявките, получаването и обновяването на сертификати с използване на протокола ACMEv2 (Automatic Certificate Management Environment), използван от удостоверяващия център Let’s Encrypt. При използване на http_acme администраторите не трябва да се притесняват за обновяването на сертификатите, тъй като модулът самостоятелно ще получи необходимите сертификати в Let’s Encrypt или в друг сервиз, поддържащ протокола ACME. Кодът на модула е написан на Rust с използване на 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; }
Източник: opennet.ru
