Опубликован выпуск основной ветки nginx 1.29.1, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией 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; }
Источник: http://www.opennet.ru/opennews/art.shtml?num=63725