PHP2Shell zahteva brzo ažuriranje PHP okruženja

PHP je za 21. oktobar u 14.00 UTC najavio ispravke za dve kritične ranjivosti označene kao PHP2Shell, sa ocenom 9,2 od 10. U trenutku objave informacije nisu bili poznati pogođene verzije, komponenta u kojoj se propusti nalaze ni tačne verzije sa ispravkom, a prijavljeni napadi nisu postojali.
Ograničene informacije menjaju pristup odbrani: administratori ne mogu pouzdano potvrditi da li je pojedinačna privremena mera dovoljna. PHP je naveo da će pune tehničke detalje i podržane ispravljene verzije objaviti uz izdanje.
Isključivanje upload progresa nije potpuna zaštita
Najčešće deljena privremena mera je session.upload_progress.enabled=0, kojom se isključuje podrazumevano uključena funkcija Session Upload Progress. Ona beleži tok otpremanja datoteke kako bi drugi zahtev mogao da proveri napredak.
GMO Flatt Security je najpre ocenio da bi promena mogla pomoći, ali je potom saopštio da sama po sebi nije potpuna ispravka i da se očekuju načini za njeno zaobilaženje. Gina Peter Banyard, PHP core developer, naglasila je da je jedina potvrđena mitigacija instaliranje zakrpe ili nadogradnja PHP-a.
Podešavanje ipak nije potrebno vraćati ako je već primenjeno. PHP dokumentacija savetuje njegovo isključivanje kada aplikacija ne koristi trake napretka pri otpremanju, dok je praktična posledica za aplikacije koje ih koriste prestanak rada tog prikaza. Važno je potvrditi vrednost na procesu koji obrađuje veb zahteve, a ne samo kroz komandu php -i.
Priprema za izdanje i ograničavanje izloženosti
U CGI i FastCGI okruženjima datoteka .user.ini čita se samo za te režime, a PHP je podrazumevano ponovo učitava na svakih 300 sekundi. Kod Apache modula promena se postavlja kroz .htaccess ili konfiguraciju servera. Zato proveru treba obaviti na PHP-FPM, mod_php ili CGI procesu koji zaista opslužuje sajt.
Timovi treba unapred da pripreme postupak nadogradnje, provere nakon nje, odobrenja i eventualni restart. Nadograđuje se PHP runtime koji služi veb zahteve, poput PHP-FPM, mod_php ili CGI-ja, a ne sama aplikacija kao što su WordPress ili Laravel. PHP bezbednosne ispravke izdaje za četiri podržane grane, od 8.2 do 8.5.
Kada hitno ažuriranje nije moguće, CERT-EU preporučuje izolovanje aplikacija dostupnih sa interneta od javnih mreža dok se ne primeni ispravka. Pristup se može ograničiti VPN-om, dozvoljenim listama klijenata ili autentikacijom na ivici, uz proveru da origin server nije dostupan mimo tih kontrola.
Posle objavljivanja zakrpe
Starije grane, uključujući PHP 8.1, 7.x i 5.x, više ne dobijaju ispravke od PHP projekta. Za njih su izbori nadogradnja, isključivanje sistema ili izolacija, dok distributer Linuxa ili hosting provajder može zasebno objaviti sopstveni backport.
Po izlasku izdanja potrebno je proveriti koje su verzije pogođene, koje verzije po granama sadrže ispravku i da li PHP potvrđuje bilo koju dodatnu meru. Posle nadogradnje treba pregledati logove za aktivnosti pre zakrpljivanja, smanjiti privilegije i poverljive podatke dostupne serveru te sačuvati logove na bezbednoj lokaciji. Najpraktičniji poslovni zaključak je da se ažuriranje pripremi unapred, a javna izloženost smanji dok potvrđena zakrpa ne bude instalirana.

