Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Kurios PHP versijos paveiktos?

PHP2Shell ištaisyta PHP 8.5.12, 8.4.27, 8.3.36 ir 8.2.35 versijose. PHP 8.1 ir senesnėms oficialių atnaujinimų nebėra. Lentelė rodo būklę pagal šaką.

Būsena 4 min. skaitymoPHP2Shell

Trumpai: PHP saugumo spraga PHP2Shell paveikia 8.2–8.5 šakas iki 2026 m. spalio 21 d. leidimų, o pasak specializuotos spaudos, beveik visas versijas iki pat PHP 5.4. Ištaisyta PHP 8.5.12, 8.4.27, 8.3.36 ir 8.2.35 versijose. PHP 8.1 ir senesnėms oficialių atnaujinimų nebėra, tėra minimalūs šaltinio kodo atgaliniai perkėlimai (backports) 7.4, 8.0 ir 8.1 versijoms.

Kurias versijas paveikė PHP saugumo spraga?

PHP2Shell apima dvi spragas, CVE-2026-109618 ir CVE-2026-109619, abi pagal CVSS v4.0 įvertintos 9,2 balo. Abi leidžia vykdyti kenkėjišką kodą nuotoliniu būdu be prisijungimo. 2026 m. spalio 21 d. 14:00 UTC (16 val. Vokietijos laiku) PHP projektas paskelbė taisymus visoms palaikomoms šakoms.

PHP šaka Paskutinė būsena prieš taisymą Ištaisyta nuo Palaikymas
8.5 8.5.11 8.5.12 oficialiai palaikoma
8.4 8.4.26 8.4.27 oficialiai palaikoma
8.3 8.3.35 8.3.36 oficialiai palaikoma
8.2 8.2.34 8.2.35 baigiasi 2026-12-31
8.1, 8.0, 7.4 visos būsenos oficialaus leidimo nėra tik minimalūs šaltinio kodo atgaliniai perkėlimai
7.3–5.4 pasak specializuotos spaudos, paveiktos beveik visos atnaujinimo nėra daug metų be palaikymo

Duomenys apie 8.2–8.5 paimti iš php.net pranešimų. Teiginys apie versijas iki PHP 5.4 paimtas iš specializuotos spaudos; visiško oficialaus senesnių versijų sąrašo nėra.

Ne technikams keliais sakiniais: jei jūsų serveryje yra versija iš stulpelio „Ištaisyta nuo“ arba naujesnė ir po to visi PHP procesai paleisti iš naujo, PHP2Shell uždaryta. Jei ten senesnis numeris, arba veikia atgalinis perkėlimas, kurį turi patvirtinti jūsų teikėjas, arba spraga atvira. Abejonės atveju paklauskite savo IT ar talpintojo būtent dėl šių trijų punktų: versija, atgalinis perkėlimas, paleidimas iš naujo.

Paveikti veikimo režimai

Versijos numeris yra tik pusė atsakymo. Paveikti visi įprasti PHP eksploatavimo žiniatinklio serveryje būdai: PHP-FPM, Apache su mod_php, php-cgi, FrankenPHP ir LiteSpeed. PHP komanda riziką vertina didžiausią esant mod_php, nes ten išnaudojimas parodytas dar prieš pradedant vykdyti programos kodą. Išsamiau puslapyje Kodėl mod_php kelia didžiausią riziką.

Iš programos apsaugos negaunama: ar tai WordPress, Shopware, TYPO3, Laravel ar nuosavas sprendimas, programos atnaujinimas PHP spragos neuždaro.

Atgaliniai perkėlimai: kai versijos numeris apgauna

Daug Linux distribucijų ir talpintojų PHP teikia savais paketais. Užuot šokę į naują pagrindinę (upstream) versiją, jie taisymą perima kaip atgalinį perkėlimą į esamą versiją. Tai turi praktinę pasekmę: rodomas numeris lieka senas. Dabartinės padėties pavyzdys yra Plesk, kuris gali toliau rodyti 8.2.34, nors klaida ištaisyta.

Jums tai reiškia: lentelė aukščiau galioja oficialiems php.net leidimams. Jūsų distribucijos ar talpintojo paketų atveju lemia paketų būsena ir teikėjo patvirtinimas. Kaip patikrinti abu, rodo Kaip teisingai patikrinti PHP versiją ir pataisų būseną. Greitam testui komandinėje eilutėje:

php -v
apt policy php8.3-fpm        # Debian/Ubuntu, paketo pavadinimas skiriasi pagal versiją ir šaltinį
dnf info php-fpm             # RHEL šeima
Svarbu

Ištaisyta versija diske dar nereiškia, kad ji veikia. Tik paleidus iš naujo visus PHP procesus serveris dirba su pataisytu kodu.

Kas galioja PHP 8.1 ir senesnėms?

PHP 8.1, 8.0 ir 7.4 yra tik minimalūs šaltinio kodo atgaliniai perkėlimai, t. y. šaltinio kodo taisymai, kuriuos kas nors turi pats perimti ir sukompiliuoti. Oficialių leidimų nepasirodo. Kai kurios distribucijos su ilgalaike priežiūra tokius taisymus įtraukia į savo paketus; ar tai taikoma jūsų sistemai, galima išsiaiškinti tik pagal paketo pakeitimų žurnalą (changelog) arba pas teikėją.

Ilgalaikiai neišvengiama palaikomos versijos. Kurią PHP versiją pakelia jūsų CMS ar parduotuvė, tikrinkite pagal gamintojo sistemos reikalavimus, pavyzdžiui, wordpress.org, shopware.com ar typo3.org. Daugiau puslapyje PHP 8.1 ir senesnės: kas dabar galioja.

O kaip CVE-2026-115560?

Spalio 23 d. php.net paskelbė pastabą apie trečiąją spragą. Ji veikia tik esant neįprastai sesijos konfigūracijai. Ištaisytos versijos pagal spalio 25 d. būklę dar nėra; iki kito įprasto klaidų taisymo leidimo priemonė yra session.upload_progress.enabled=0. Versijų sąrašo tikimasi tik su pilnu advisory.

Kaip PHP SOS padeda konkrečiai?

  • Inventorizacija: Surašome visas jūsų serverių PHP versijas, taip pat antrines diegimo versijas atskiroms svetainėms, kurios mėgsta būti praleistos.
  • Palyginimas: Kiekvienam diegimui išsiaiškiname, ar tai oficialus leidimas, distribucijos atgalinis perkėlimas, ar taisymo nėra.
  • Atnaujinimas su įrodymu: Per PHP pataisų paslaugą įdiegiame taisymą ir paleidžiame iš naujo visus procesus.
  • Migracijos planas: Versijoms be oficialių atnaujinimų per PHP 8.1 ir senesnių migraciją suplanuojame perėjimą ir iki tol apsaugome serverį.

Dažni klausimai

Ar PHP 8.3.35 dar saugus?

Ne, nebent jūsų teikėjas įdiegė atgalinį perkėlimą (backport). 8.3.35 yra paskutinė būsena prieš taisymą; PHP2Shell 8.3 šakoje ištaisyta nuo 8.3.36. Distribucijų paketų atveju numeris gali likti tas pats, nors klaida ištaisyta. Tuomet svarbus paketo pakeitimų žurnalas (changelog) arba teikėjo patvirtinimas.

Ar PHP 7.4 paveikta PHP2Shell?

Pasak specializuotos spaudos, paveiktos beveik visos versijos iki pat PHP 5.4. 7.4, 8.0 ir 8.1 versijoms yra tik minimalūs šaltinio kodo atgaliniai perkėlimai ir jokių oficialių leidimų. Perėjimas prie palaikomos versijos yra patikimas kelias.

Kodėl Plesk rodo 8.2.34, nors pataisyta?

Distribucijos ir talpintojai taisymus kartais perima kaip atgalinį perkėlimą į esamus paketus. Tada versijos numeris lieka tas pats, bet klaida vis tiek ištaisyta. Patikrinkite paketų būseną arba paprašykite teikėjo patvirtinti pataisą.

Kurią PHP versiją turėčiau rinktis dabar?

Palaikomą versiją, kurią jūsų programa leidžia pagal gamintojo sistemos reikalavimus. PHP 8.2 palaikymas baigiasi 2026 m. gruodžio 31 d.; kas dabar vis tiek keičia versiją, tai turėtų numatyti.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba