ОбновлСния nginx 1.26.3 ΠΈ 1.27.4 с устранСниСм уязвимости, связанной с TLS

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ выпуск основной Π²Π΅Ρ‚ΠΊΠΈ nginx 1.27.4, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ продолТаСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ выпуск ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ nginx 1.26.3, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вносятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, связанныС с устранСниСм ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ошибок ΠΈ уязвимостСй. Π’ обновлСниях устранСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2025-23419), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ клиСнтских TLS-сСртификатов.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° отсутствиСм Π΄ΠΎΠ»ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… хостов, привязанных ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ IP-адрСсу ΠΈ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΏΠΎΡ€Ρ‚Π°, ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ HTTPS Π½Π° основании Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ TLS-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ SNI. Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… конфигурациях Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ³ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TLS-сСанс Π² контСкстС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста для ΠΎΠ±Ρ…ΠΎΠ΄Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ клиСнтскому TLS-сСртификату. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² конфигурациях, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ TLS-сСансов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Β«TLS session ticketΒ» ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… кэш TLS-сСансов Π² настройках сСрвСра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ аутСнтификация ΠΏΠΎ клиСнтским TLS-сСртификатам. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ присутствуСт начиная с выпуска nginx 1.11.4 ΠΏΡ€ΠΈ сборкС с OpenSSL ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TLSv1.3.

НС связанныС с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ измСнСния:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ возмоТности для сниТСния потрСблСния рСсурсов ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΏΡ€ΠΈ использовании TLS Π² конфигурациях с большим числом Π±Π»ΠΎΠΊΠΎΠ² server ΠΈ location. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ вмСсто создания для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ контСкста SSL (SSL_CTX Π² OpenSSL), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ контСкст SSL ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄ΠΎΠ»Π³ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ·-Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Π° TLS-сСртификатов, ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ списков ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². УскорСна ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° счёт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡˆΠΈΡ…ΡΡ TLS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСртификаты, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ CRL. Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ наслСдования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«ssl_object_cache_inheritableΒ».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ кэш для сСртификатов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ssl_certificate /etc/ssl/$ssl_server_name.crtΒ»). Для управлСния кэшСм Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«ssl_certificate_cacheΒ», Β«proxy_ssl_certificate_cacheΒ», Β«grpc_ssl_certificate_cacheΒ» ΠΈ Β«uwsgi_ssl_certificate_cacheΒ». Π§Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ кэша, врСмя дСйствия записСй ΠΈ врСмя очистки нСвострСбованных записСй. НапримСр: Β«ssl_certificate_cache max=1000 inactive=20s valid=1m;Β».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«keepalive_min_timeoutΒ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ nginx Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ keep-alive соСдинСниС с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ.
  • РСшСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с появлСниСм Π»ΠΎΠ³Π΅ сообщСний Β«gzip filter failed to use preallocated memoryΒ» ΠΏΡ€ΠΈ сборкС с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ zlib-ng.
  • РСшСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° со сборкой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libatomic, ΠΏΡ€ΠΈ использовании сборочной ΠΎΠΏΡ†ΠΈΠΈ Β«β€”with-libatomic=DIRΒ»
  • УстранСна ошибка, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ°Ρ ΠΊ нСвозмоТности ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ QUIC ΠΏΡ€ΠΈ использовании 0-RTT.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запросов согласования вСрсий QUIC, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со сборкой Π² Solaris 10 с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ngx_http_v3_module.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ HTTP/3.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ