Ă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/(?
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
