La version principale de nginx 1.29.1 a été publiée, poursuivant le développement de nouvelles fonctionnalités. Seules les modifications relatives à la correction de bogues critiques et de vulnérabilités sont apportées à la branche stable 1.28.x, qui est maintenue parallèlement. Une branche stable 1.30 sera formée à partir de la branche principale 1.29.x à l'avenir. Le code du projet est écrit en langage C et est distribué sous la licence BSD.
Dans cette nouvelle version :
- Une vulnérabilité (CVE-2025-53859) a été corrigée dans le module ngx_mail_smtp_module, entraînant la lecture de données en dehors du tampon lors du traitement des valeurs de nom d'utilisateur et de mot de passe spécialement formatées lors de l'utilisation de la méthode d'authentification « none ». Cette vulnérabilité peut entraîner une fuite du contenu de la mémoire du processus nginx dans une requête HTTP vers un service externe. serveur authentification. Patch.
- La compression des certificats TLSv1.3 est désactivée par défaut.
- Ajout de la directive « ssl_certificate_compression » pour gérer la compression. des certificats TLS.
- La mise en œuvre du protocole QUIC a été améliorée pour prendre en charge le mode 0-RTT, disponible sur les systèmes avec OpenSSL 3.5.1 et les versions ultérieures.
- Un bogue provoquant le tamponnement de la réponse HTTP 103 lors de l'utilisation de HTTP/2 et de la directive « early_hints » a été corrigé.
- Une erreur dans le gestionnaire du paramètre « none » de la directive « smtp_auth » a été corrigée.
- Dans l'implémentation de HTTP/3, un problème avec le traitement du numéro de port dans l'en-tête « Host » a été résolu.
- Un problème se manifestant lors de l'utilisation de valeurs identiques dans les en-têtes « Host » et « :authority » lors de l'utilisation de HTTP/2 a été corrigé.
- La compilation pour NetBSD 10.0 a été améliorée.
La société F5 a également présenté une version préliminaire du module ngx_http_acme, qui fournit des fonctionnalités pour automatiser la demande, l'obtention et le renouvellement de certificats en utilisant le protocole ACMEv2 (Automatic Certificate Management Environment), utilisé par l'autorité de certification Let’s Encrypt. Lors de l'utilisation de http_acme, les administrateurs n'ont pas à s'inquiéter du renouvellement des certificats, car le module obtiendra automatiquement les certificats nécessaires auprès de Let’s Encrypt ou d'un autre service prenant en charge le protocole ACME, en fonction des paramètres de configuration. Le code du module est écrit en Rust en utilisant le 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; }
Source : opennet.ru
