Ranljivost v PHP-ju bi lahko ogrozila katero koli spletno mesto PHP.

Razvijalci PHP so danes ob 17.00 (MSK) napovedali izdajo nujnih popravkov (8.5.12, 8.4.27, 8.3.36 in 8.2.35), ki bodo odpravili dve kritični ranljivosti. Vsem skrbnikom strežnikov PHP svetujemo, da popravke namestijo na svoje sisteme takoj po njihovi izdaji. Uradne podrobnosti bodo razkrite šele, ko bodo popravki na voljo, vendar sta na podlagi javno dostopnih informacij ti ranljivosti CVE-2026-109618 in CVE-2026-109619, ki potencialno omogočata oddaljeno izvajanje kode na katerem koli spletnem strežniku, ki v privzeti konfiguraciji izvaja skripte PHP. Težave vplivajo na vse različice, začenši s PHP 5.4.

Prototipni izkoriščanji (1, 2) so se že pojavili na spletu za testiranje ranljivosti sistema. V opombah o izkoriščanju je navedeno, da ranljivosti povzroča dostop do že sproščenega pomnilnika v rutini za sledenje napredka prenosa datotek. strežnik (session.upload_progress). Napad ne zahteva funkcionalnosti nalaganja datotek na spletno mesto; zadostuje samodejna aktivacija obdelovalca vsebine »multipart/form-data« v interpreterju PHP. Za uspešno izkoriščanje je potrebna določitev postavitve pomnilnika procesa, ki je specifična za vsako gradnjo (to težavo je mogoče rešiti z brute-forsiranjem izkoriščanja z uporabo odmikov, vnaprej izračunanih za pakete iz različnih distribucij).

Kot rešitev nekateri priporočajo nastavitev parametra php.ini »session.upload_progress.enabled = off« (ali »php_admin_flag[session.upload_progress.enabled] = off« v PHP-FPM), vendar predstavnik projekta PHP in avtor prvega prototipa ranljivosti trdita, da to ni dovolj za blokiranje obeh ranljivosti. Opomba za drugi prototip ranljivosti navaja, da je poleg omenjene nastavitve php.ini potrebno tudi popolno blokiranje zahtev s tipom vsebine »multipart/form-data«, da se prepreči napad brez namestitve popravka.

V Apache httpd lahko za blokiranje večdelnih zahtev uporabite naslednje pravilo v mod_rewrite:

RewriteCond %{HTTP:Content-Type} večdelni [NC]
PraviloPrepisovanja ^ — [F,L]

Za blokiranje v nginxu:

če ($http_content_type ~* "večdelni") {
403 vrniti;
}

Za zaklepanje Caddyja:

@multipart header_regexp Vrsta vsebine (?i)večdelno
odgovori @multipart 403

Posodobitev: Izdani so bili popravki za PHP 8.5.12, 8.4.27, 8.3.36 in 8.2.35, skupaj s podrobnostmi o odpravljenih kritičnih ranljivostih. Podrobna analiza ranljivosti in uradno priporočenih rešitev je na voljo v ločeni novici.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster