PHP haavatavus, mis võib võimaldada kompromiteerida igat PHP saidi.

PHP arendajad kuulutasid välja täiendavad turvapaigad, mis avaldatakse täna kell 17:00 (MSK), versioonides 8.5.12, 8.4.27, 8.3.36 ja 8.2.35, et kõrvaldada kaks kriitilist haavatavust. Kõikidele PHP-d kasutavatele serveriadministraatoritele soovitatakse koheselt pärast nende avaldamist paigaldada parandused oma süsteemidesse. Üksikasjad avaldatakse ametlikult alles pärast paranduste ilmumist, kuid alates käesolevasse teatesse ilmunud andmetest on teemat käsitlevateks haavatavusteks CVE-2026-109618 ja CVE-2026-109619, mis võivad potentsiaalselt võimaldada kauglähetuse koodi käivitamist igas veebiserveris, mis töötab PHP-skriptidega vaikeseadistuses. Probleemid esinevad kõikides versioonides alates PHP 5.4.

Veebis on juba ilmunud prototüübid eksploitidest (1, 2) süsteemide haavatavuse kontrollimiseks. Eksploitide märkustes väidetakse, et haavatavused on põhjustatud vabanenud mälu käsitlemisest failide üleslaadimise edenemise jälgimise töötlejas server (session.upload_progress). Rünnaku sooritamiseks ei ole vajalik, et veebisaidil oleks üleslaadimise funktsionaalsus; piisab, kui multifunktsionaalne „multipart/form-data” töödeldakse PHP tõlgendi abil automaatselt. Edukaks ekspluateerimiseks on vajalik protsessi mälu struktuuride paigalduste määramine, mis on igas versioonis spetsiifiline (probleem lahendatakse eksploidis nihkeid ridade põhjal, mis on eelnevalt arvutatud erinevate distributsioonide pakettide jaoks).

Kaitsmiseks on saadaval soovitused, näiteks seadistada php.ini-s parameter „session.upload_progress.enabled = off” (ega „php_admin_flag[session.upload_progress.enabled] = off” PHP-FPM-is), kuid PHP projekti esindaja ning esimese eksploitprototüübi autor väidavad, et see ei ole piisav mõlema haavatavuse blokeerimiseks. Teises eksploitprototüübis mainitakse, et lisaks ülaltoodud seadistusele php.ini-s nõuab rünnaku ärahoidmine ilma plaastrita täielikku blokeerimist multipart/form-data sisu tüübiga päringutele, mis toob kaasa selle, et faile ei saa veebivormide kaudu üles laadida.

Apache httpd-s multipart-päringute blokeerimiseks saab kasutada järgmist reeglit mod_rewrite'is:

RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ — [F,L]

Nginxis blokeerimiseks:

if ($http_content_type ~* "multipart") {
return 403;
}

Caddy blokeerimiseks:

@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403

Lisa: Avaldatud on PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35 parandavaid väljalaskmisi, samuti üksikasjad parandatud kriitiliste haavatavuste kohta. Haavatavuste analüüs ja ametlikult soovitatud kaitsemeetmed on avaldatud eraldi uudises.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster