Vilnerabilite nan php-fpm ki pèmèt ekzekisyon kòd aleka sou sèvè a

Disponib degaje koreksyon PHP 7.3.11, 7.1.33 ak 7.2.24, kote elimine kritik vilnerabilite (CVE-2019-11043) nan ekstansyon PHP-FPM (FastCGI Process Manager) ki pèmèt ou egzekite kòd ou a adistans sou sistèm lan. Pou atake sèvè ki itilize PHP-FPM pou kouri script PHP ansanm ak Nginx, li deja disponib piblikman. travayè a eksplwate.

Atak la posib nan konfigirasyon nginx kote transmisyon nan PHP-FPM fèt nan divize pati URL la lè l sèvi avèk "fastcgi_split_path_info" epi defini varyab anviwònman PATH_INFO, men san yo pa premye tcheke egzistans fichye a ak "try_files $fastcgi_script_name" direktiv oswa "si (!-f $ document_root$fastcgi_script_name)". pwoblèm ki gen ladan parèt nan anviwònman yo ofri pou platfòm NextCloud la. Pou egzanp, konfigirasyon ak konstriksyon nan fòm nan vilnerab:

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

Ou ka swiv depanaj la nan distribisyon nan paj sa yo: dbyan, rhel, Ubentu, SUSE/openSUSE, FreeBSD, Arch, Feutr. Kòm yon solisyon sekirite, apre liy "fastcgi_split_path_info", ou ka ajoute yon chèk pou egzistans fichye PHP yo mande a:

try_files $fastcgi_script_name =404;

Pwoblèm nan koze pa yon erè pandan y ap manipile endikasyon nan dosye a sapi/fpm/fpm/fpm_main.c. Lè w bay yon konsèy, li sipoze ke valè varyab anviwònman PATH_INFO a nesesèman gen yon prefiks ki matche ak chemen script PHP a.
Si direktiv fastcgi_split_path_info espesifye divize chemen an nan script la lè l sèvi avèk yon ekspresyon regilye ki sansib a transmisyon karaktè newline la (pa egzanp, nan anpil egzanp li sijere yo sèvi ak "^(.+?\.php)(/. *)$"), Lè sa a, atakè a ka ekri yon valè vid nan varyab anviwònman PATH_INFO. Nan ka sa a, pi lwen nan ekzekisyon an te pote soti ekri path_info[0] a zewo epi rele FCGI_PUTENV.

Lè w mande yon URL fòma nan yon sèten fason, yon atakè ka deplase konsèy la path_info nan premye byte nan estrikti "_fcgi_data_seg" la, epi ekri zewo nan byte sa a pral deplase konsèy la "char * pos" nan zòn nan memwa ki te deja ale. FCGI_PUTENV ki rele pwochen an pral kouvri done yo nan memwa sa a ak yon valè ke atakè a ka kontwole. Memwa espesifye a tou estoke valè lòt varyab FastCGI, epi lè w ekri done yo, atakè a ka kreye yon varyab PHP_VALUE egare epi reyalize egzekisyon kòd li a.

Sous: opennet.ru

Add nouvo kòmantè