ĂshtĂ« formuar shpĂ«rndarja e degĂ«s kryesore nginx 1.31.0, nĂ« kuadĂ«r tĂ« sĂ« cilĂ«s vazhdon zhvillimi i mundĂ«sive tĂ« reja, si dhe lĂ«shimi i degĂ«s stabile tĂ« mbĂ«shtetur paralelisht, nginx 1.30.1, nĂ« tĂ« cilĂ«n bĂ«hen vetĂ«m ndryshime qĂ« lidhen me rregullimin e gabimeve serioze dhe dobĂ«sive. NĂ« pĂ«rditĂ«sime janĂ« eliminuar 6 dobĂ«si, mĂ« e rrezikshmja e tĂ« cilave lejon ekzekutimin e kodit nĂ« mĂ«nyrĂ« tĂ« largĂ«t pĂ«rmes dĂ«rgimit tĂ« njĂ« kĂ«rkese HTTP tĂ« projektuar nĂ« mĂ«nyrĂ« tĂ« veçantĂ«. PĂ«r angie dhe freenginx, nĂ« momentin e shkrimit tĂ« lajmit, rregullimet nuk janĂ« publikuar.
Dobësia (CVE-2026-42945), e cila ka nivelin kritik të rrezikshmërisë, shkaktohet nga mbushja e tamponit në modul nga ngx_http_rewrite_module, e cila mund të shfrytëzohet për të ekzekutuar kodin me të drejtat e procesit të punës nginx përmes dërgimit të një kërkese HTTP me URI të projektuar në mënyrë të veçantë. Problemi shfaqet në konfigurime me direktivën "rewrite", ku në shprehjet e rregullta përdoren vendosje maskash duke përdorur variabla të paemëruar (p.sh., $1 dhe $2), me kushtin që në stringun e zëvendësimit të ketë simbole "?". Shembulli i konstruktit të ndjeshëm: rewrite ^\/users\/([0-9]+)\/profile\/(.*)$ \/profile.php?id=$1&tab=$2 last;
Shprehjet me vendosje të emëruara nuk janë të ndjeshme ndaj dobësisë. Për shembull, dobësia nuk prek konstrukte: rewrite ^\/users\/(?<user_id>[0-9]+)\/profile\/(?<section>.*)$ \/profile.php?id=$user_id&tab=$section last;
Dobësia është e pranishme që nga versioni 0.6.27, i lëshuar në mars 2008. Arsyeja e shfaqjes së dobësisë është se tamponi është ndarë me parashikimin se në të do të shkruhen të dhëna të paekranuara, por në të vërtetë janë kopjuar të dhëna pas ekranuar simbolesh të veçanta, të cilat ishin më të mëdha, pasi çdo simbol " + ", " % " dhe " & " kodoheshin me tre byte dhe jo me një. Këtë çrregullim e shkaktonte fakti se nëse në rregullin rewrite kishte simbolin "?", vendosej flamuri "e->is_args", sipas të cilit ekranuar dhe ndarja e tamponit bëhej me flamurin e çaktivizuar, ku ekranuar nuk aplikohej.
Dobësi të tjera:
- CVE-2026-42926 â mundĂ«sia e vendosjes sĂ« tĂ« dhĂ«nave tĂ« sulmuesit nĂ« kĂ«rkesĂ«n e dĂ«rguar pĂ«rmes pĂ«rdorimit tĂ« direktivĂ«s "proxy_set_body" dhe ndĂ«rlidhjes me backend pĂ«rmes HTTP/2 (proxy_http_version=2).
- CVE-2026-40701 â njĂ« qasje nĂ« memorien pas lirimit tĂ« saj (use-after-free) nĂ« modul 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 â leximi nga njĂ« zonĂ« jashtĂ« tamponit nĂ« modulet ngx_http_uwsgi_module dhe ngx_http_scgi_module, qĂ« ndodh gjatĂ« pĂ«rpunimit tĂ« njĂ« pĂ«rgjigjeje tĂ« formatuar posaçërisht. Problemi mund tĂ« çojĂ« nĂ« rrjedhje tĂ« pĂ«rmbajtjes sĂ« memories sĂ« procesit punues ose nĂ« mbylljen e tij tĂ« menjĂ«hershme.
- CVE-2026-42934 â leximi nga njĂ« zonĂ« jashtĂ« tamponit nĂ« procesin punues, qĂ« ndodh gjatĂ« pĂ«rpunimit tĂ« pĂ«rgjigjeve me dekodimin nga kodimi UTF-8 duke pĂ«rdorur direktivĂ«n «charset_map». Problemi mund tĂ« çojĂ« nĂ« rrjedhje tĂ« pĂ«rmbajtjes sĂ« memories sĂ« procesit punues ose nĂ« mbylljen e tij tĂ« menjĂ«hershme.
- CVE-2026-40460 â njĂ« vulnerabilitet nĂ« implementimin e protokollit HTTP/3, qĂ« lejon spufimin Adresa IP pĂ«r tĂ« anashkaluar autorizimin ose kufizimet.
Përmirësimet e shtuara në versionin e nginx 1.31.0:
- NĂ« pĂ«rbĂ«rje Ă«shtĂ« shtuar moduli ngx_http_tunnel_module, qĂ« realizon mundĂ«sinĂ« e funksionimit si njĂ« proxy («forward proxy»), duke drejtuar kĂ«rkesat nĂ« njĂ« server tjetĂ«r kur klienti i drejtohet me metodĂ«n HTTP/1.1 CONNECT. ĂshtĂ« e mundur tĂ« konfiguroni autentikimin pĂ«r qasjen nĂ« proxy, duke pĂ«rdorur direktivat «auth_basic», «satisfy» dhe «auth_delay».
- Në blokun «upstream» është shtuar direktiva «least_time», e cila përfshin metodën e balancimit të ngarkesës duke kaluar kërkesën serverit me kohën mesatare më të ulët të përgjigjes dhe numrin më të vogël të lidhjeve aktive.
- Në modul «stream_proxy» është shtuar direktiva «proxy_ssl_alpn» për të caktuar listën e protokolleve të lejuara në zgjerimin ALPN gjatë lidhjes me serverin e proxy-zuar. Për shembull: «proxy_ssl_alpn h2 http/1.1».
- ĂshtĂ« siguruar refuzimi i kĂ«rkesave sipas protokolleve HTTP/2 dhe HTTP/3, qĂ« pĂ«rfshijnĂ« kokat «Connection», «Proxy-Connection», «Keep-Alive», «Transfer-Encoding», «Upgrade».
- Në modul ngx_http_dav_module është siguruar refuzimi i kërkesave COPY dhe MOVE me burime të përsëritura burimore dhe qëllimore ose koleksione të ngulitura.
- Niveli i regjistrimit të gabimeve SSL «invalid alert», «record layer failure» dhe «SSL alert number N» është ulur nga «crit» në «info».
- NĂ« skriptin configure Ă«shtĂ« shtuar parametrin «â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ë: Eksploiti për vulnerabilitetin RCE në ngx_http_rewrite_module është në dispozicion.
Burimi: opennet.ru
