php-fpm haavatavus, mis vÔimaldab kaugelt kÀivitada koodi serveris.

Saadaval korrektsed PHP 7.3.11, 7.1.33 ja 7.2.24 versioonid, milles on kĂ”rvaldatud kriitiline haavatavus (CVE-2019-11043) PHP-FPM (FastCGI protsessihaldur) laiendis, mis vĂ”imaldab kaugjuhtimisega kĂ€ivitada oma koodi sĂŒsteemis. RĂŒnnaku jaoks serveritele, mis kasutavad PHP-FPM-i PHP-skriptide kĂ€ivitamiseks koos Nginxiga, on juba avalikult saadaval töökorras eksploit.

RĂŒnnak on vĂ”imalik Nginxi konfiguratsioonides, kus PHP-FPM-i suunamine toimub URL-i osade jagamise kaudu koos 'fastcgi_split_path_info' kasutamisega ning keskkonnamuutuja PATH_INFO mÀÀramisega, kuid ilma 'try_files $fastcgi_script_name' direktiivi vĂ”i konstruktsioonita 'if (!-f $document_root$fastcgi_script_name)'. Probleem esineb ka ilmneb NextCloudi platvormi jaoks pakutavates seadetes. NĂ€iteks on haavatavad konfiguratsioonid, millel on jĂ€rgmised konstruktsioonid:

location ~ [^\/]\.php(\/|$) {
fastcgi_split_path_info ^(.+?\.php)(\/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}

Probleemi lahendamise jĂ€lgimiseks distributsioonides saab jĂ€lgida jĂ€rgmisi lehti: Debian, RHEL, Ubuntu, SUSE/openSUSE, FreeBSD, Arch, Fedora. Kaitse ĂŒmberpööramise meetodina, pĂ€rast 'fastcgi_split_path_info' rida, saab lisada kontrolli, et kontrollida, kas taotletud PHP-fail eksisteerib:

try_files $fastcgi_script_name =404;

Probleem on pÔhjustatud viga viidete kÀsitlemisel failis sapi/fpm/fpm/fpm_main.c. Viidendi mÀÀramisel eeldatakse, et keskkonnamuutuja PATH_INFO vÀÀrtus sisaldab tingimata eelmist prefiksi, mis vastab PHP-skripti teele.
Kui 'fastcgi_split_path_info' direktiivis mÀÀratakse skripti tee jagamine regulaaravaldistega, mis on tundlikud reavahetuse sĂŒmboli ĂŒlekande suhtes (nĂ€iteks paljudes nĂ€idetes soovitatakse kasutada '^(.+?\.php)(\/.*)$'), siis rĂŒndaja vĂ”ib pĂ”hjustada PATH_INFO keskkonnamuutuja tĂŒhja vÀÀrtuse kirjutamist. Sel juhul mĂ”ningate edasiste kĂ€ivituste kaudu teostatakse kirjutatakse path_info[0] null ja kutsutakse esile FCGI_PUTENV.

KĂŒsimise korral teatud viisil vormindatud URL-i kaudu vĂ”ib rĂŒndaja saavutada path_info viidete nihkumise struktuuri '_fcgi_data_seg' esimese baiti peale, ning nulli kirjutamine sellesse baiti viib 'char* pos' viidate nihkumiseni varem olnud mĂ€lupiirkonda. JĂ€rgmine jĂ€rgnev FCGI_PUTENV kirjutab selle mĂ€lus oleva vÀÀrtuse, mida rĂŒndaja saab kontrollida. Antud mĂ€lus hoitakse ka teisi FastCGI muutujaid ja kirjutades sinna oma andmed vĂ”ib rĂŒndaja luua vale PHP_VALUE muutuja, pĂ”hjustades oma koodi tĂ€itmise.

Allikas: opennet.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