Aktualizimi nginx 1.31.0 me eliminimin e vulnerabilitetit RCE, i shfrytëzuar përmes kërkesës HTTP

ËshtĂ« formuar lĂ«shimi i degĂ«s kryesore nginx 1.31.0, nĂ« kuadĂ«r tĂ« tĂ« cilit vazhdon zhvillimi i mundĂ«sive tĂ« reja, si dhe lĂ«shimi i degĂ«s sĂ« stabilizuar nginx 1.30.1, tĂ« cilĂ«s i bĂ«hen vetĂ«m ndryshime qĂ« lidhen me elimimin e defekteve serioze dhe vulnerabiliteteve. NĂ« pĂ«rditĂ«sim janĂ« eliminuar 6 vulnerabilitete, mĂ« e rrezikshmja prej tĂ« cilave lejon ekzekutimin e kodit nĂ« distancĂ« pĂ«rmes dĂ«rgimit tĂ« njĂ« HTTP-pleqi tĂ« hartuar posaçërisht. PĂ«r angie dhe freenginx, nĂ« momentin e shkrimit tĂ« lajmit, rregullimet nuk janĂ« publikuar.

Vulnerabiliteti (CVE-2026-42945), i cili ka një nivel kritike rreziku, shkaktohet nga mbingarkesa e tamponit në modul ngx_http_rewrite_module, i cili mund të shfrytëzohet për të ekzekutuar kod me të drejtat e procesit të punës nginx përmes dërgimit të një HTTP-pleqi me një URI të hartuar posaçërisht. Problemi shfaqet në konfigurime me direktivën "rewrite", ku në shprehjet e rregullta përdoren zëvendësime maskash me anë të variablave të paemëruar (p.sh., $1 dhe $2), me kushtin që në stringun e zëvendësimit të ketë simbolin "?". Shembulli i konstrukcionit të ndjeshëm: rewrite ^\/users\/([0-9]+)\/profile\/(.*)$ \/profile.php?id=$1&tab=$2 last;

Shprehjet me vendosje të emëruara nuk janë të prekura nga ky lloj vulnerabiliteti. P.sh., vulnerabiliteti nuk prek strukturat: rewrite ^/users/(?[0-9]+)/profile/(?

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

Vulnerabiliteti është prezent që nga versioni 0.6.27, i lëshuar në mars 2008. Arsyetimi i shfaqjes së vulnerabilitetit ishte se buferi u alokua me llogarinë se do të shkruhen të dhëna të paekranizuara, ndërsa në të vërtetë u kopjuan të dhëna pas ekranyzimit të karaktereve speciale, të cilat ishin më të mëdha, pasi çdo karakter «+», «%» dhe «&» kodifikoheshin jo me një, por me tre byte. Ky moszhvillim ndodhte për shkak të faktit se nëse rregulli rewrite kishte karakterin «?», flaga «e->is_args» vendosej, duke aktivizuar ekranyzimin, ndërsa alokimi i buferit bëhej me flag të çaktivizuar, ku ekranyzimi nuk aplikohej.

Vulnerabilitete të tjera:

  • CVE-2026-42926 — mundĂ«sia pĂ«r vendosjen e tĂ« dhĂ«nave nga sulmuesi nĂ« kĂ«rkesĂ«n e proxy pĂ«rmes pĂ«rdorimit nĂ« konfigurimin e direktivĂ«s «proxy_set_body» dhe nĂ« adresimin e backend-it pĂ«rmes HTTP/2 (proxy_http_version=2).
  • CVE-2026-40701 — referencĂ« nĂ« memorie pas lirimit tĂ« saj (use-after-free) nĂ« modul nga ngx_http_ssl_module, qĂ« ndodh gjatĂ« pĂ«rpunimit tĂ« pĂ«rgjigjeve nga serveri DNS nĂ« konfigurimet me direktivĂ«n «ssl_ocsp».
  • CVE-2026-42946 — lexim nga jashtĂ«sia e tamponit nĂ« modulet ngx_http_uwsgi_module dhe ngx_http_scgi_module, qĂ« ndodh gjatĂ« pĂ«rpunimit tĂ« njĂ« pĂ«rgjigjeje tĂ« formuar posaçërisht. Ky problem mund tĂ« çojĂ« nĂ« rrjedhje tĂ« pĂ«rmbajtjes sĂ« memories sĂ« procesit ose nĂ« pĂ«rfundimin e tij tĂ« papritur.
  • CVE-2026-42934 — lexim nga jashtĂ«sia e tamponit nĂ« procesin e punĂ«s, qĂ« ndodh gjatĂ« pĂ«rpunimit tĂ« pĂ«rgjigjeve me dekodim nga kodimi UTF-8 duke pĂ«rdorur direktivĂ«n «charset_map». Ky problem mund tĂ« çojĂ« nĂ« rrjedhje tĂ« pĂ«rmbajtjes sĂ« memories sĂ« procesit ose nĂ« pĂ«rfundimin e tij tĂ« papritur.
  • CVE-2026-40460 — njĂ« dobĂ«si nĂ« implementimin e protokollit HTTP/3, qĂ« lejon spoofing adresat IP pĂ«r tĂ« anashkaluar autorizimin ose kufizimet.

Përmirësime të shtuara në publikimin nginx 1.31.0:

  • NĂ« pĂ«rbĂ«rje Ă«shtĂ« pĂ«rfshirĂ« moduli ngx_http_tunnel_module, i cili realizon mundĂ«sinĂ« e funksionimit si proxy ("forward proxy"), duke pĂ«rcjellĂ« kĂ«rkesat nĂ« njĂ« server tjetĂ«r kur klienti bĂ«n njĂ« kĂ«rkesĂ« pĂ«rmes metodĂ«s HTTP/1.1 CONNECT. ËshtĂ« e mundur tĂ« konfigurohet autentikimi i kĂ«rkesave nĂ« proxy, duke pĂ«rdorur direktivat "auth_basic", "satisfy" dhe "auth_delay."
  • NĂ« bllokun "upstream" Ă«shtĂ« shtuar direktiva "least_time", e cila pĂ«rfshin metodĂ«n e balancimit tĂ« ngarkesĂ«s duke transferuar kĂ«rkesat server me kohĂ«n mesatare mĂ« tĂ« vogĂ«l tĂ« pĂ«rgjigjes dhe numrin mĂ« tĂ« vogĂ«l tĂ« lidhjeve aktive.
  • NĂ« modulit "stream_proxy" Ă«shtĂ« shtuar direktiva "proxy_ssl_alpn" pĂ«r tĂ« specifikuar listĂ«n e protokolleve tĂ« leverdishme nĂ« zgjerimin ALPN kur lidhet me serverin e proxy. PĂ«r shembull: "proxy_ssl_alpn h2 http/1.1."
  • ËshtĂ« siguruar qĂ« tĂ« refuzohen kĂ«rkesat pĂ«r protokollet HTTP/2 dhe HTTP/3, tĂ« cilat pĂ«rfshijnĂ« titujt "Connection", "Proxy-Connection", "Keep-Alive", "Transfer-Encoding", "Upgrade."
  • NĂ« modulit ngx_http_dav_module Ă«shtĂ« siguruar qĂ« tĂ« refuzohen kĂ«rkesat COPY dhe MOVE me burime origjinale dhe tĂ« synuara tĂ« pĂ«rsĂ«ritura ose koleksione tĂ« ngulitura.
  • Niveli i logimit tĂ« gabimeve SSL "alerti i pavlefshĂ«m", "dĂ«shtimi i shtresĂ«s sĂ« regjistrit" dhe "numri i alarmeve SSL N" Ă«shtĂ« ulur nga "crit" nĂ« "info."
  • NĂ« skriptin configure Ă«shtĂ« shtuar parametri «—without-http_upstream_sticky_module» pĂ«r tĂ« çaktivizuar ndĂ«rtimin e modulit http_upstream_sticky_module (parametri «—without-http_upstream_sticky» Ă«shtĂ« shpallur i vjetruar).

Shtesë: Eksploit për RCE-në e dobësisë në ngx_http_rewrite_module është në dispozicion.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster