Php-fpm рдореЗрдВ рднреЗрджреНрдпрддрд╛ рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рдореЛрдЯ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ

рдЙрдкрд▓рдмреНрдз PHP 7.3.11, 7.1.33 рдФрд░ 7.2.24 рдХрд╛ рд╕реБрдзрд╛рд░ рд░рд┐рд▓реАрдЬрд╝, рдЬрд┐рд╕рдореЗрдВ рд╕рдлрд╛рдпрд╛ рдирд╛рдЬреБрдХ рднреЗрджреНрдпрддрд╛ (CVE-2019-11043) PHP-FPM (FastCGI рдкреНрд░реЛрд╕реЗрд╕ рдореИрдиреЗрдЬрд░) рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдЬреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрди рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ Nginx рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП PHP-FPM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ рдХрд╛рдо рдХрд░ рд╢реЛрд╖рдг рдХрд░рдирд╛.

рд╣рдорд▓рд╛ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ PHP-FPM рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рдг "fastcgi_split_path_info" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ URL рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдФрд░ PATH_INFO рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ "try_files $fastcgi_script_name" рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд┐рдП рдмрд┐рдирд╛ред рдирд┐рд░реНрджреЗрд╢ рдпрд╛ "if (!-f $ document_root$fastcgi_script_name)"ред рд╕рдорд╕реНрдпрд╛ рд╕рд╣рд┐рдд рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ NextCloud рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ:

рд╕реНрдерд╛рди ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^ (? +?? php) (/.*) $;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}

рдЖрдк рдЗрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╡рд┐рддрд░рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдбреЗрдмрд┐рдпрди, RHEL, Ubuntu, рдПрд╕рдпреВрдПрд╕рдИ/рдУрдкрдирдПрд╕рдпреВрдПрд╕рдИ, FreeBSD, рдореЗрд╣рд░рд╛рдм, рдлреЗрдбреЛрд░рд╛. рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ, "fastcgi_split_path_info" рд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдиреБрд░реЛрдзрд┐рдд PHP рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдБрдЪ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

рдкреНрд░рдпрд╛рд╕_рдлрд╝рд╛рдЗрд▓реЗрдВ $fastcgi_script_name =404;

рд╕рдорд╕реНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ sapi/fpm/fpm/fpm_main.c. рдкреЙрдЗрдВрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ PATH_INFO рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрде рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдпрджрд┐ fastcgi_split_path_info рдирд┐рд░реНрджреЗрд╢ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрде рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рдХреЗ рд╕рдВрдЪрд░рдг рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ "^(.+?\.php)(/) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред *)$"), рддреЛ рд╣рдорд▓рд╛рд╡рд░ PATH_INFO рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдорд╛рди рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХрд┐рдпрд╛ path_info[0] рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд▓рд┐рдЦрдирд╛ рдФрд░ FCGI_PUTENV рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ред

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд┐рдП рдЧрдП URL рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ path_info рдкреЙрдЗрдВрдЯрд░ рдХреЛ "_fcgi_data_seg" рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдкрд╣рд▓реЗ рдмрд╛рдЗрдЯ рдореЗрдВ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдмрд╛рдЗрдЯ рдкрд░ рд╢реВрдиреНрдп рд▓рд┐рдЦрдиреЗ рд╕реЗ "char * pos" рдкреЙрдЗрдВрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛ рд░рд╣реЗ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдЧреЗ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ FCGI_PUTENV рдЗрд╕ рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕ рдорд╛рди рдХреЗ рд╕рд╛рде рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдорд▓рд╛рд╡рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдЕрдиреНрдп рдлрд╛рд╕реНрдЯрд╕реАрдЬреАрдЖрдИ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд▓рд┐рдЦрдХрд░, рд╣рдорд▓рд╛рд╡рд░ рдПрдХ рдбрдореА PHP_VALUE рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ