So-leòntachd PHP-fpm a leigeas le còd iomallach a chuir gu bàs air an fhrithealaiche

Ri fhaighinn fiosan ceartachaidh de PHP 7.3.11, 7.1.33 agus 7.2.24, anns a bheil air a chuir às criochnachadh so-leòntachd (CVE-2019-11043) anns an leudachadh PHP-FPM (Manaidsear Pròiseas FastCGI), a leigeas leat do chòd a chuir an gnìomh air an t-siostam air astar. Gus ionnsaigh a thoirt air frithealaichean a chleachdas PHP-FPM ann an co-bhonn ri Nginx gus sgriobtaichean PHP a ruith, tha e ri fhaighinn gu poblach mu thràth neach-obrach brath.

Tha an ionnsaigh comasach ann an rèiteachaidhean nginx anns a bheilear a’ cur air adhart gu PHP-FPM le bhith a’ sgaradh phàirtean den URL a’ cleachdadh “fastcgi_split_path_info” agus a’ mìneachadh caochladair àrainneachd PATH_INFO, ach gun a bhith a’ sgrùdadh an-toiseach gu bheil am faidhle ann a’ cleachdadh na “try_files $ fastcgi_script_name” stiùireadh no an “ma tha (! -f $) document_root$ fastcgi_script_name)”. Tha an duilgheadas cuideachd ga nochdadh fhèin anns na roghainnean a thathar a’ tabhann airson an àrd-ùrlar NextCloud. Mar eisimpleir, rèiteachaidhean le structaran mar:

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

'S urrainn dhut lorg fhaighinn air fuasgladh na trioblaid ann an goireasan cuairteachaidh air na duilleagan seo: Debian, RHEL, Ubuntu, SUSE/openSUSE, FreeBSD, Arch, Fedora. Mar fhuasgladh, faodaidh tu seic a chuir a-steach airson am faidhle PHP a chaidh iarraidh a bhith ann às deidh loidhne “fastcgi_split_path_info”:

try_files $ fastcgi_script_name = 404;

Tha an duilgheadas air adhbhrachadh le mearachd nuair a thathar a’ làimhseachadh chomharran ann am faidhle sapi/fpm/fpm/fpm_main.c. Nuair a bhios tu a’ sònrachadh puing, thathas a’ gabhail ris gum feum ro-leasachan a bhith ann an luach caochladair àrainneachd PATH_INFO a tha a rèir na slighe gu sgriobt PHP.
Ma tha an stiùireadh fastcgi_split_path_info a’ sònrachadh sgoltadh slighe an sgriobt a’ cleachdadh abairt cunbhalach a tha mothachail air loidhne ùr (mar eisimpleir, tha mòran eisimpleirean a’ moladh a bhith a’ cleachdadh “^(.+?\.php)(/.*)$”), dh’ fhaodadh neach-ionnsaigh dèanamh cinnteach gu bheil tha luach falamh air a sgrìobhadh gu caochladair àrainneachd PATH_INFO. Anns a 'chùis seo, nas fhaide air adhart gu bàs Air a dhèanamh a’ sgrìobhadh path_info[0] gu neoni agus a’ gairm FCGI_PUTENV.

Le bhith ag iarraidh URL air a chruth ann an dòigh shònraichte, faodaidh neach-ionnsaigh gluasad a dhèanamh air a’ phuing path_info chun a’ chiad byte den structar “_fcgi_data_seg”, agus le bhith a’ sgrìobhadh neoni don byte seo leanaidh sin gu gluasad an “char * pos” comharraiche gu àite cuimhne a chaidh a shuidheachadh roimhe. Bidh an ath rud ris an canar FCGI_PUTENV a’ sgrìobhadh thairis air an dàta sa chuimhne seo le luach as urrainn don neach-ionnsaigh smachd a chumail air. Bidh an cuimhne ainmichte cuideachd a’ stòradh luachan caochladairean FastCGI eile, agus le bhith a’ sgrìobhadh an dàta aca, faodaidh neach-ionnsaigh caochladair PHP_VALUE meallta a chruthachadh agus an còd aca a choileanadh.

Source: fosgailtenet.ru

Cuir beachd ann