Uppdatering av nginx 1.31.0 med ÄtgÀrd av RCE-sÄrbarhet som utnyttjas via HTTP-förfrÄgan.

UtgÄvan av huvudgrenen nginx 1.31.0 har skapats, dÀr nya möjligheter utvecklas, samt en parallell stabil gren nginx 1.30.1 har slÀppts, dÀr endast Àndringar relaterade till att ÄtgÀrda allvarliga fel och sÄrbarheter görs. Uppdateringarna ÄtgÀrdade 6 sÄrbarheter, dÀr den mest kritiska tillÄter fjÀrrkodkörning genom att skicka en speciellt utformad HTTP-förfrÄgan. För angie och freenginx har inga korrigeringar publicerats vid tidpunkten för nyhetens skrivande.

SÄrbarheten (CVE-2026-42945), som har bedömts ha kritisk fara, orsakas av en buffertöverskridning i modulen ngx_http_rewrite_module, som kan utnyttjas för att köra kod med rÀttigheter för nginx-processen genom att skicka en HTTP-förfrÄgan med en sÀrskilt utformad URI. Problemet uppstÄr i konfigurationer med direktivet "rewrite", dÀr maskresurser anvÀnds i reguljÀra uttryck med hjÀlp av namnlösa variabler (t.ex. $1 och $2), förutsatt att ersÀttningstrÀngen innehÄller tecknet "?". Exempel pÄ en sÄrbar konstruktion: rewrite ^\/users\/([0-9]+)\/profile\/(.*)$ \/profile.php?id=$1&tab=$2 last;

Uttryck med namngivna maskresurser Àr inte sÄrbara. Till exempel pÄverkas inte konstruktioner som: rewrite ^\/users\/(?[0-9]+)\/profile\/(?

.*)$ \/profile.php?id=$user_id&tab=$section last;

SÄrbarheten har funnits sedan version 0.6.27, som slÀpptes i mars 2008. Orsaken till sÄrbarheten Àr att bufferten allokerades med antagandet att oskyddade data skulle skrivas in, men faktiskt kopierades data efter att specialtecken hade maskats, vars storlek var större, eftersom varje tecken "+", "%" och "&" kodades med mer Àn ett byte. SÄdan diskrepans uppstod eftersom nÀr tecknet "?" fanns i rewrite-regeln stÀlldes flaggan "e->is_args" in, vilket aktiverade maskering, men buffertallokeringen gjordes med flaggan avstÀngd, dÀr maskering inte tillÀmpades.

Övriga sĂ„rbarheter:

  • CVE-2026-42926 — möjligheten till datainsĂ€ttning frĂ„n angriparen i den proxyförfrĂ„gan nĂ€r direktivet "proxy_set_body" anvĂ€nds i konfigurationerna och anslutningen till backend sker via HTTP/2 (proxy_http_version=2).
  • CVE-2026-40701 — minnes tillgĂ„ng till minne efter att det har frigjorts (use-after-free) i ngx_http_ssl_module, vilket intrĂ€ffar vid bearbetning av svar frĂ„n DNS-servern i konfigurationer med direktivet «ssl_ocsp».
  • CVE-2026-42946 — lĂ€sning frĂ„n ett omrĂ„de utanför bufferten i ngx_http_uwsgi_module och ngx_http_scgi_module, vilket uppstĂ„r vid bearbetning av ett speciellt format svar. Problemet kan leda till minneslĂ€ckage frĂ„n arbetsprocessen eller krasch.
  • CVE-2026-42934 — lĂ€sning frĂ„n ett omrĂ„de utanför bufferten i arbetsprocessen, vilket intrĂ€ffar vid bearbetning av svar med dekodning frĂ„n UTF-8-kodning nĂ€r direktivet «charset_map» anvĂ€nds. Problemet kan leda till minneslĂ€ckage frĂ„n arbetsprocessen eller krasch.
  • CVE-2026-40460 — sĂ„rbarhet i implementationen av HTTP/3-protokollet som tillĂ„ter spoofing IP-adresser för att kringgĂ„ autentisering eller begrĂ€nsningar.

FörbÀttringar som har lagts till i versionen nginx 1.31.0:

  • Modulen ngx_http_tunnel_module har inkluderats, vilket möjliggör drift som en proxy («forward proxy»), som vidarebefordrar förfrĂ„gningar till en annan server nĂ€r en klient kontaktar den med metoden HTTP/1.1 CONNECT. Det Ă€r möjligt att konfigurera autentisering för proxy-anrop med direktiven «auth_basic», «satisfy» och «auth_delay».
  • Direktivet «least_time» har lagts till i blocket «upstream», vilket inkluderar en metod för belastningsbalansering som vidarebefordrar förfrĂ„gningar servern med den lĂ€gsta genomsnittliga svarstiden och det minsta antalet aktiva anslutningar.
  • Direktivet «proxy_ssl_alpn» har lagts till i modulen «stream_proxy» för att ange listan över protokoll som Ă€r tillĂ„tna i ALPN-tillĂ€gget vid anslutning till proxyservern. Till exempel: «proxy_ssl_alpn h2 http/1.1».
  • ÅtgĂ€rder har vidtagits för att avvisa förfrĂ„gningar via protokollen HTTP/2 och HTTP/3 som inkluderar rubrikerna «Connection», «Proxy-Connection», «Keep-Alive», «Transfer-Encoding», «Upgrade».
  • I modulen ngx_http_dav_module har Ă„tgĂ€rder vidtagits för att avvisa COPY och MOVE-förfrĂ„gningar med upprepade kĂ€llor och mĂ„lresurser eller inbĂ€ddade samlingar.
  • Fel loggnivĂ„ SSL «invalid alert», «record layer failure» och «SSL alert number N» har sĂ€nkts frĂ„n «crit» till «info.»
  • Parameter «—without-http_upstream_sticky_module» har lagts till skriptet configure för att inaktivera byggandet av http_upstream_sticky_module (parameter «—without-http_upstream_sticky» har förklarats som förĂ„ldrad).

TillÀgg: Ett exploitering för RCE-sÄrbarhet i ngx_http_rewrite_module Àr tillgÀngligt.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster