Vulnerabilitate php-fpm care permite execuția de cod de la distanță pe server

Disponibile versiuni corective PHP 7.3.11, 7.1.33 și 7.2.24, în care remediată critică vulnerabilitatea (CVE-2019-11043) în extensia PHP-FPM (managerul de procese FastCGI), care permite executarea de cod malițios de la distanță în sistem. Pentru atacurile asupra serverelor care utilizează PHP-FPM pentru a rula scripturi PHP, împreună cu Nginx, există deja disponibile public un exploat Exploatarea este posibilă în configurațiile nginx în care redirecționarea către PHP-FPM este efectuată cu separarea părților URL prin „fastcgi_split_path_info” și definirea variabilei de mediu PATH_INFO, dar fără o verificare prealabilă a existenței fișierului prin directiva „try_files $fastcgi_script_name” sau construcția „if (!-f $document_root$fastcgi_script_name)”. Problema se regăsește și.

în setările propuse pentru platforma NextCloud. De exemplu, sunt vulnerabile configurațiile cu construcții de tip: se manifestă location ~ [^\/]\.php(\/|$) {

fastcgi_split_path_info ^(.+?\.php)(\/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
Monitorizarea soluționării problemei în distribuții poate fi realizată pe paginile respective:
}

. Ca metodă alternativă de protecție, după linia „fastcgi_split_path_info”, se poate adăuga o verificare a existenței fișierului PHP solicitat: Debian, RHEL, Ubuntu, SUSE/openSUSE, FreeBSD, Arch, Fedoratry_files $fastcgi_script_name =404;

Problema este cauzată de o eroare în manipularea pointerilor în fișierul

sapi/fpm/fpm/fpm_main.c . La atribuirea pointerului, se presupune că valoarea variabilei de mediu PATH_INFO conține neapărat un prefix care să corespundă căii către scriptul PHP.Dacă în directiva fastcgi_split_path_info este specificată separarea căii către script utilizând o expresie regulată, sensibilă la trecerea caracterului de întrerupere a liniei (de exemplu, în multe exemple se propune utilizarea „^(.+?\.php)(\/.*)$”), atacatorul poate provoca înscrierea unei valori goale în variabila de mediu PATH_INFO. În acest caz, mai departe în execuție
înscrierea în path_info[0] a valorii zero și apelul FCGI_PUTENV. se realizează Solicitând un URL format într-un anumit mod, atacatorul poate provoca deplasarea pointerului path_info la primul byte al structurii „_fcgi_data_seg”, iar înscrierea valorii zero în acest byte va duce la mutarea pointerului „char* pos” în zona de memorie precedentă. Apelul ulterior FCGI_PUTENV va suprascrie datele din această memorie cu o valoare pe care o poate controla atacatorul. În memoria respectivă sunt stocate valorile altor variabile FastCGI, și prin înscrierea propriilor date, atacatorul poate crea o variabilă falsă PHP_VALUE și poate provoca executarea codului său.

Sunt disponibile versiunile corective PHP 7.3.11, 7.1.33 și 7.2.24, în care

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster