Nginx 1.31.0 update fixes RCE vulnerability exploited via HTTP request

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ выпуск основной Π²Π΅Ρ‚ΠΊΠΈ nginx 1.31.0, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ продолТаСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ выпуск ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ nginx 1.30.1, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вносятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, связанныС с устранСниСм ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ошибок ΠΈ уязвимостСй. Π’ обновлСниях устранСно 6 уязвимостСй, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ опасная ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… допускаСт ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ HTTP-запроса. Для angie ΠΈ freenginx Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания новости исправлСния Π½Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2026-42945), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ присвоСн критичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ опасности, Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΡ„Π΅Ρ€Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ngx_http_rewrite_module, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эксплуатировано для выполнСния ΠΊΠΎΠ΄Π° с ΠΏΡ€Π°Π²Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса nginx Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ HTTP-запроса со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΌ URI. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² конфигурациях с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ Β«rewriteΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² рСгулярных выраТСниях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ подстановки масок ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $1 ΠΈ $2), ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π² Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ строкС имССтся символ Β«?Β». ΠŸΡ€ΠΈΠΌΠ΅Ρ€ уязвимой конструкции: rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;

ВыраТСния с ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ подстановками уязвимости Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹. НапримСр, ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ конструкции: rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ присутствуСт начиная с вСрсии 0.6.27, Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² ΠΌΠ°Ρ€Ρ‚Π΅ 2008 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ появлСния уязвимости стало Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡƒΡ„Π΅Ρ€ выдСлялся с расчётом, Ρ‡Ρ‚ΠΎ Π² Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ записаны нСэкранированныС Π΄Π°Π½Π½Ρ‹Π΅, Π° фактичСски ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Π΅ послС выполнСния экранирования спСцсимволов, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π» большС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ Β«+Β», Β«%Β» ΠΈ Β«&Β» кодировался Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ, Π° трСмя Π±Π°ΠΉΡ‚Π°ΠΌΠΈ. ПодобноС рассогласованиС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² ΠΏΡ€Π°Π²ΠΈΠ»Π΅ rewrite символа Β«?Β» выставлялся Ρ„Π»Π°Π³ Β«e->is_argsΒ», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎΡΡŒ экранированиС, Π½ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΌ Ρ„Π»Π°Π³Π΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ экранированиС Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡŒ.

Other vulnerabilities:

  • CVE-2026-42926 β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ подстановки Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Π² проксируСмый запрос ΠΏΡ€ΠΈ использовании Π² настройках Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«proxy_set_bodyΒ» ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ бэкСнду Ρ‡Π΅Ρ€Π΅Π· HTTP/2 (proxy_http_version=2).
  • CVE-2026-40701 β€” ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ памяти послС Π΅Ρ‘ освобоТдСния (use-after-free) Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ngx_http_ssl_module, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ DNS-сСрвСра Π² конфигурациях с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ Β«ssl_ocspΒ».
  • CVE-2026-42946 β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· области Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π° Π² модулях ngx_http_uwsgi_module ΠΈ ngx_http_scgi_module, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ содСрТимого памяти Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ.
  • CVE-2026-42934 β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· области Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π±ΡƒΡ„Π΅Ρ€Π° Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² с Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8 ΠΏΡ€ΠΈ использовании Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«charset_mapΒ». ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ содСрТимого памяти Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ.
  • CVE-2026-40460 β€” ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP/3, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ спуфинг IP-адрСса для ΠΎΠ±Ρ…ΠΎΠ΄Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² выпускС nginx 1.31.0:

  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ngx_http_tunnel_module, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ прокси (Β«forward proxyΒ»), ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ запросы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° HTTP/1.1 CONNECT. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° настройка Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ обращСния ΠΊ прокси, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«auth_basicΒ», Β«satisfyΒ» ΠΈ Β«auth_delayΒ».
  • Π’ Π±Π»ΠΎΠΊ Β«upstreamΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«least_timeΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ΠΌΠ΅Ρ‚ΠΎΠ΄ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ запроса сСрвСру с наимСньшими срСдним Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ наимСньшим числом Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… соСдинСний.
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«stream_proxyΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«proxy_ssl_alpnΒ» для задания списка ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², допустимых Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ALPN ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ проксируСмому сСрвСру. НапримСр: Β«proxy_ssl_alpn h2 http/1.1Β».
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ запросов ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ HTTP/2 ΠΈ HTTP/3, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Β«ConnectionΒ», Β«Proxy-ConnectionΒ», Β«Keep-AliveΒ», Β«Transfer-EncodingΒ», Β«UpgradeΒ».
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ngx_http_dav_module обСспСчСно ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ запросов COPY ΠΈ MOVE с ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ исходным ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ рСсурсом ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ коллСкциями.
  • Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ логгирования ошибок SSL Β«invalid alertΒ», Β«record layer failureΒ» ΠΈ Β«SSL alert number NΒ» ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½ с Β«critΒ» Π΄ΠΎ Β«infoΒ».
  • Π’ скрипт configure Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«β€”without-http_upstream_sticky_moduleΒ» для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сборки модуля http_upstream_sticky_module (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«β€”without-http_upstream_stickyΒ» объявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ).

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ДоступСн эксплоит для RCE-уязвимости Π² ngx_http_rewrite_module.

Source: opennet.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers πŸ”₯ Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster