18-aastane RCE nginxis (CVE-2026-42945)

13. mai parandas populaarse nginx veebiserveri haavatavuse, mis on mĂ”eldud koormatud sĂŒsteemide jaoks: CVE-2026-42945, mis vĂ”is potentsiaalselt viia RCE-ni. Haavatavus ilmus 18 aastat tagasi (2008. aastal) versioonis 0.6.27.

Selle kasutamiseks peab serveri konfiguratsioonis olema teatud direktiivide kombinatsioon, mis ei pruugi olla kÔigis, kuid mÔnes kohas esinev, nÀiteks jÀrgnev:
rewrite ^(.*) \/new?c=1;
set $myvar $1;
return 200 $myvar;

Oluline teave:

  • esimene on direktiiv rewrite, kus (esimene argument) regulaaravaldisega, mis sisaldab eristatud parameetrit (midagi sulgudes), asendatakse (teise argumendiga) teega, mis sisaldab kĂŒsimĂ€rki;
  • direktiiv set (selle asemel sobib ka teine rewrite vĂ”i if), mis kasutab eristatud parameetrit algses ĂŒle kirjutatud teest (antud juhul $1).

Haavatavus töötab nii:

  • esimene direktiiv rewrite, sattudes kĂŒsimĂ€rgile, seadeb siseviiba is_args, mis tĂ€hendab "kokku kogume get-parameetreid asendatud url-i jaoks, tuleb kĂ”ik escape'ida", ja (ja see on vea olemus) unustab pĂ€rast oma tööd selle viiba lĂ”petada;
  • jĂ€rgmine direktiiv set, kui ta moodustab vÀÀrtust $myvar, rakendab ekslikult eelnevalt seadistatud is_args'i, ja kirjutab my_var'i eristatud parameetri $1 escaped vÀÀrtuse; probleem on selles, et $myvar'i vahemĂ€lu eraldatakse varem, veel enne asenduste tegemist, ja selle pikkus loetakse is_args=0, mis tĂ€hendab, et escaped vÀÀrtus on pikem kui eraldatud vahemĂ€lu, mis kutsub ĂŒles kirjutama vĂ€ljaspool eraldatud vahemĂ€lu serveri teiste andmestruktuuride suunas. Selleks piisab, kui saata pĂ€ring, millel on escape'ida vajavad sĂŒmbolid, nĂ€iteks plussmĂ€rk, eristatud regulaaravaldise parameetri kohas.

Kui hostil ei ole ALSR-i, siis saab seda haavatavust kasutada koodi kaugkÀivitamiseks nginx'i tööhobuste Ôigustes, seal on PoC (seal ei ole puhta vormi exploit'i, vaid demonstreerimine liivakastis).

Haavatavus on parandatud nginx'i stabiilses versioonis 1.30.1 ja uues arendusversioonis 1.31.0. link komiteeringule.

Kohati on tÀhelepanuvÀÀrne, et 14 aastat tagasi (2012. aastal) parandati sarnane viga teises kohas. lÀhedal.

——-

F5 veebisaidil on soovitus ajutiseks haavatavuse neutraliseerimiseks juhul, kui nginx'i versiooni kiire uuendamine ei ole vĂ”imalik — tuleb asendada nimetu eraldusmĂ€rk nimelistega ja sel juhul, nende sĂ”nul, haavatavus ei avaldu. Siit on nĂ€ide:
oli: rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
tuli: rewrite ^/users/(?[0-9]+)/profile/(?

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

Haavatavuse informatsioon jagas Zhenpeng (Leo) Lin DepthFirst'ist. Lisaks teatas ta jÀrgmistest probleemidest, mis on samuti parandatud:

  • CVE-2026-40701 (komiteed) use-after-free ssl_verify_client+ssl_ocsp kasutamisel (tundub ilma RCE-ta)
  • CVE-2026-42934 (komiteed) mĂ€lust ĂŒlekande lugemine utf-8 parseris spetsiifilistes oludes, mis vĂ”ib viia vĂ€ikese andmelekkeni vĂ”i tööprotsessi krahhini
  • CVE-2026-42946 (komiteed) liialdavad mĂ€lukasutus ja mĂ€lust lugemine scgi/uwsgi moodulite kasutamisel, probleem avaldub kuritahtliku backend'i (upstream) olemasolul nimetatud protokollide kaudu vĂ”i man-in-the-middle kanalite kaudu backendiga suhtlemisel, vĂ”ib viia nginx'i mĂ€lu lugemiseni vĂ”i tööprotsessi krahhini

Allikas: linux.org.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster