2026 m. spalio 21 d. | PHP | IT saugumas
2026 m. spalio 21 d. PHP saugumo komanda paskelbė atnaujinimus visoms dar palaikomoms PHP versijoms. Jais uždaromos dvi kritinės spragos, žinomos kaip PHP2Shell. BSI dėl to paskelbė įspėjimą ir reikalauja nedelsiant užtaisyti paveiktas sistemas. Kas eksploatuoja žiniatinklio serverį su PHP, turėtų veikti jau šiandien. Tai taikoma ir visiems, kurie „tik“ eksploatuoja WordPress, Nextcloud ar Joomla, nes šios programos veikia su PHP.
Šiame straipsnyje apibendrinama, kas įvyko, kurios PHP versijos paveiktos, kokios versijos jums dabar reikia ir kaip per kelias minutes patikrinti, ar jūsų serveris apsaugotas.
Straipsnio turinys
- Kas įvyko? Įvykių eiga
- Abi PHP spragos trumpai
- Kas paveikti?
- Šios PHP versijos yra saugios
- Kaip patikrinti ir atnaujinti savo serverį
- PHP 8.1 ir senesnės: oficialaus atnaujinimo nėra
- Pereinamosios priemonės ir klausimas „Išjungti serverį iš tinklo?“
- Dažniausiai užduodami klausimai
- Biricon IT Services palaikymas
Kas įvyko? Įvykių eiga
PHP saugumo komanda iš anksto paskelbė apie pataisų išleidimą, kad talpintojai ir administratoriai turėtų laiko pasiruošti. Pats išleidimas įvyko 2026 m. spalio 21 d. BSI tą pačią dieną paskelbė savo įspėjimą (1.1 versija).
- 2026 m. spalio 20 d.: PHP saugumo komandos išankstinis įspėjimas, kad kitą dieną pasirodys saugumo atnaujinimai.
- 2026 m. spalio 21 d., 14:00 UTC (16:00 val. Vidurio Europos vasaros laiku): Išleidžiamos PHP 8.5, 8.4, 8.3 ir 8.2 pataisos.
- 2026 m. spalio 21 d.: BSI įspėja dėl „kritinių spragų, grėsmingų žiniatinklio programoms visame pasaulyje“, ir rekomenduoja nedelsiant užtaisyti. Pasak BSI, dideli talpinimo paslaugų teikėjai dalį serverių atsargos tikslais išjungė iš tinklo.
Abi PHP spragos trumpai
Tai dvi atskiros PHP branduolio klaidos: CVE-2026-109618 ir CVE-2026-109619. Pasak PHP saugumo komandos, abi gali lemti, kad užpuolikas galės vykdyti programos kodą serveryje neprisijungęs (unauthenticated Remote Code Execution). Spragos įvertintos CVSS v4.0: 9,2 (kritinė).
| Požymis | Reikšmė |
|---|---|
| Identifikatoriai | CVE-2026-109618 ir CVE-2026-109619 |
| Vertinimas | CVSS v4.0: 9,2 — kritinė |
| Poveikis | Kodo vykdymas serveryje (Remote Code Execution), be prisijungimo |
| 1 priežastis | Sugadinta atmintis, kai apdorojimo metu PHP nebegauna operatyviosios atminties (Out-of-Memory) |
| 2 priežastis | Pasenusi visuotinė būsena, likstanti atmintyje tarp užklausų |
| Ypač pavojinga | Apache su mod_php |
BSI vertinimu, paskelbimo metu patvirtintų atakų nebuvo, tačiau buvo nepatvirtintų užuominų apie išnaudojimo bandymus. Esant kritinėms spragoms tokioje plačiai paplitusioje programinėje įrangoje, patirtis rodo, kad reikia tikėtis, jog užpuolikai analizuos pataisas ir ruoš automatizuotas atakas. Todėl laiko langas užtaisyti yra trumpas.
Kas paveikti?
Iš principo paveiktas kiekvienas serveris, kuriame veikia PHP, nepriklausomai nuo to, kaip PHP prijungtas: PHP-FPM, mod_php Apache, php-cgi, FrankenPHP ar LiteSpeed. Pasak PHP saugumo komandos, didžiausia rizika yra Apache su mod_php.
BSI aiškiai nurodo programas, kurios remiasi PHP ir todėl gali būti taip pat paveiktos:
- Turinio valdymo sistemos: WordPress, Drupal, TYPO3, Joomla
- Parduotuvių sistemos: Magento
- Debesija ir failų saugykla: Nextcloud
- Užkardų sąsajos: pfSense, OPNsense
Pati programa tam neturi būti su klaida. Spraga yra PHP, todėl vien WordPress, Nextcloud & Co. atnaujinimo nepakanka. Reikia atnaujinti serverio PHP versiją. Užkardų, tokių kaip pfSense ir OPNsense, atveju ištaisyta PHP versija ateina su atitinkamu gamintojo programinės aparatinės įrangos (firmware) atnaujinimu.
Šios PHP versijos yra saugios
Spragos ištaisytos šiose versijose. Viskas žemiau laikoma pažeidžiama.
| PHP šaka | Būtina bent | Pastaba |
|---|---|---|
| PHP 8.5 | 8.5.12 | dabartinė šaka |
| PHP 8.4 | 8.4.27 | |
| PHP 8.3 | 8.3.36 | |
| PHP 8.2 | 8.2.35 | Palaikymas baigiasi 2026 m. gruodžio 31 d. |
| PHP 8.1 ir senesnės | oficialaus atnaujinimo nėra, žr. apačioje | |
Kaip patikrinti ir atnaujinti savo serverį
1. Nustatyti įdiegtą PHP versiją
Serverio komandų eilutėje php -v parodo komandų eilutės PHP versiją. Žiniatinklio serveris gali naudoti kitą PHP versiją. Todėl patikrinkite ir PHP-FPM arba Apache modulio versiją, pavyzdžiui, su php-fpm8.3 -v arba per puslapį, kuris išveda phpinfo() (jį paskui iškart pašalinkite).
2. Atnaujinimą įdiegti per paketų valdymą
Debian, Ubuntu, RHEL ir giminingų sistemų atveju ištaisyta versija ateina per įprastą paketų valdymą, pavyzdžiui, apt update && apt upgrade arba dnf upgrade. Trečiųjų šalių šaltinių, tokių kaip Sury PPA ar Remi saugykla, atveju nauji paketai paprastai pasirodo greitai.
apt changelog php8.3-fpm arba rpm -q --changelog php | grep CVE-2026-1096).
3. Iš naujo paleisti PHP tarnybą
Vien paketo atnaujinimo nepakanka: veikiantys PHP procesai atmintyje išlaiko seną kodą. Iš naujo paleiskite PHP-FPM (systemctl restart php8.3-fpm) arba Apache (systemctl restart apache2) ir po to patikrinkite, ar procesai buvo paleisti po atnaujinimo.
4. Talpinamos svetainės
Bendrinio talpinimo (shared hosting) atveju paprastai atnaujina paslaugos teikėjas. Kliento meniu dažniausiai galima nustatyti PHP versiją kiekvienai svetainei. Pasirinkite ten vieną iš aukščiau nurodytų saugių versijų arba paklauskite teikėjo apie pataisų būklę. Pasak BSI, kai kurie teikėjai atsargos tikslais atjungė serverius nuo tinklo. Jei jūsų svetainė trumpam nepasiekiama, tai gali būti priežastis.
PHP 8.1 ir senesnės: oficialaus atnaujinimo nėra
PHP 8.1 ir senesnėms versijoms oficialių saugumo atnaujinimų nebėra. Tokių sistemų eksploatuotojai turi dvi galimybes:
- Pereiti prie palaikomos versijos (rekomenduojama). Kuo senesnė versija, tuo didesnės programos ir plėtinių pritaikymo pastangos, todėl perėjimą reikėtų iš anksto išbandyti.
- Pataisas perkelti atgal (backport). PHP saugumo komanda pateikė pataisas vystymo šakose GitHub. Kas PHP kompiliuoja pats, gali šiuos pakeitimus perkelti į senesnes versijas. Tai pereinamasis sprendimas ir reikalauja specialiųjų žinių.
Ir PHP 8.2 palaikoma tik iki 2026 m. gruodžio 31 d. Todėl dabar suplanuokite perėjimą prie PHP 8.4 ar 8.5 ir neatidėliokite jo iki metų sandūros.
Pereinamosios priemonės ir klausimas „Išjungti serverį iš tinklo?“
Kartu su paskelbimu PHP saugumo komanda aprašė ir laikinąsias apsaugos priemones. Jos mažina riziką, tačiau spragų visiškai neuždaro. Jos nepakeičia atnaujinimo ir skirtos tik laikui iki atnaujinimo įveikti.
Ar serverį iki atnaujinimo reikėtų atjungti nuo tinklo, priklauso nuo jo svarbos ir pasiekiamumo. BSI nurodo, kad dideli teikėjai šį žingsnį žengė. Kaip nykščio taisyklė:
- Viešai pasiekiamas serveris, atnaujinimas dabar įmanomas: užtaisyti nedelsiant, išjungti nereikia.
- Viešai pasiekiamas serveris, atnaujinimas trumpuoju laikotarpiu neįmanomas: apriboti prieigą (pavyzdžiui, užkardoje tik žinomiems adresams) arba laikinai išjungti paslaugą, ypač
mod_phpatveju. - Tik viduje pasiekiamas serveris: užtaisyti netrukus, skubumas mažesnis.
Dažniausiai užduodami klausimai
Ar turiu atnaujinti WordPress, Joomla ar Nextcloud?
Ne dėl šios spragos. Ji yra PHP, o ne pačioje programoje. Atnaujinkite serveryje esančią PHP versiją. Programos atnaujinimas nepriklausomai nuo to vis tiek yra prasmingas.
Iš ko galiu suprasti, ar kas nors jau pasinaudojo šia spraga?
Patikimai tai nustatyti sunku. Įtartini požymiai: nežinomi PHP failai žiniatinklio kataloge, neįprasti procesai, vykdomi žiniatinklio serverio naudotojo teisėmis, nauji naudotojų paskyros ar cron užduotys ir neįprastas išeinantis duomenų srautas. Kilus konkrečiam įtarimui, sistemą reikėtų ištirti kriminalistiškai, o abejojant – iš naujo įdiegti.
Ar pakanka žiniatinklio programų ugniasienės (Web Application Firewall)?
Ugniasienė gali sustabdyti žinomus atakų šablonus, tačiau nepakeičia atnaujinimo. Daugiau apie kelių apsaugos sluoksnių sąveiką skaitykite mūsų straipsnyje Odoo 19 apsauga: ugniasienė, 2FA & Web RBL. Šie principai galioja bet kuriai žiniatinklio programai.
Ar tai paveikia Odoo?
Ne. Odoo parašyta Python kalba ir neveikia su PHP. Paveiktos galėtų būti tik PHP programos, veikiančios tame pačiame serveryje.
Kur rasti oficialią informaciją?
PHP saugumo komandos pranešimą rasite php.net naujienų archyvuose (2026 m. spalio 20 d. įrašas), versijas – adresu php.net/downloads. BSI įspėjimo numeris 2026-297981-1032, jis paskelbtas adresu bsi.bund.de .
Biricon IT Services palaikymas
Jei nesate tikri, kokia PHP versija veikia jūsų serveryje, arba jums reikia pagalbos diegiant pataisas, mielai padėsime: atliekant visų PHP sistemų inventorizaciją, diegiant atnaujinimus, pereinant prie palaikomos PHP versijos ir tikrinant, ar sistema nebuvo pažeista. Kaip IT paslaugų teikėjas prižiūrime serverius, ugniasienes ir žiniatinklio programas mažoms ir vidutinėms įmonėms.
Būklė: 2026 m. spalio 21 d. Padėtis gali greitai pasikeisti; lemiamą reikšmę turi PHP saugumo komandos ir BSI paskelbta informacija.