Aktuālā situācija: PHP2Shell. Divas kritiskas PHP ievainojamības (CVSS 9.2) ļauj izpildīt ļaunprātīgu kodu bez pieteikšanās. Ielāpi kopš 21.10.2026.Kas jādara tagad →

PHP jauninājums vai atpakaļportējums? Lēmums vecām sistēmām

Vecām PHP versijām pēc PHP2Shell ir vairāki ceļi: distribūcijas atpakaļportējums, trešais avots, pirmkoda ielāps, ilgtermiņa atbalsts vai jauninājums. Ko katrs ceļš spēj un cik ilgi tas iztur.

Aktuāls uz 4 min lasīšanas laiksLēmumu atbalsts

Īsi sakot: Vai PHP jauninājums vai atpakaļportējums ir pareizā izvēle, ir atkarīgs no tā, cik ilgi jūsu sistēmai vēl jādarbojas un cik labi atpakaļportējums ir pierādīts. Paša distribūcijas atpakaļportējums atbalstītā operētājsistēmā ir pilnvērtīgs ceļš. Pirmkoda atpakaļportējumi, trešie avoti un komerciāls ilgtermiņa atbalsts PHP 8.1 un vecākām versijām ir tilti ar beigu datumu. Ilgtermiņā palīdz tikai pāreja uz PHP versiju, ko PHP projekts joprojām oficiāli atbalsta.

Kāpēc jautājums pēc PHP2Shell kļūst steidzams

  1. gada 21. oktobrī PHP projekts labojis PHP2Shell versijās 8.5.12, 8.4.27, 8.3.36 un 8.2.35. PHP 8.1 un vecākām versijām oficiālu laidienu vairs nav, tikai minimāli pirmkoda atpakaļportējumi versijām 7.4, 8.0 un 8.1. Saskaņā ar specializēto presi ir skartas gandrīz visas versijas līdz pat PHP 5.4.

Tādējādi daudzi veco sistēmu uzturētāji stāv viena un tā paša jautājuma priekšā: vai pietiek nepilnību kaut kā aizlāpīt, vai tagad jāveic jauninājums, kas gadiem tika atlikts? Ko jauninājums praktiski nozīmē, apraksta mūsu piedāvājums PHP 8.1 un vecāku versiju migrācijai. Kas ir spēkā bez oficiāla atjauninājuma, lasiet sadaļā PHP 8.1 un vecākas versijas: kas tagad ir spēkā. Šis raksts palīdz svērt starp tiem.

Kādi atpakaļportējumu veidi pastāv

„Atpakaļportējums” ir apkopojošs jēdziens. Ar to vienmēr saprot, ka labojums no jaunākas versijas tiek pārņemts vecākā. Kas to dara un cik labi tas pārbaudīts, tomēr ļoti atšķiras.

  1. Distribūcijas atpakaļportējums: Debian, Ubuntu, Red Hat un citi pārņem drošības labojumus savu atbalstīto laidienu PHP pakotnēs. Versijas numurs tur bieži paliek tāds pats; saskaņā ar ziņojumiem, piemēram, Ubuntu 24.04 pēc atjauninājuma joprojām rāda 8.3.6. Labojumu apliecina pakotnes izmaiņu žurnāls un distribūcijas drošības paziņojumi.
  2. Trešais avots: Ondřej Surý repozitorijs sury.org saskaņā ar ziņojumiem ir piegādājis būvējumus visiem zariem no 5.6 līdz 8.5. Tas nav Debian drošības arhīvs. Detaļas ir sadaļā Repozitorijs sury.org.
  3. PHP projekta pirmkoda atpakaļportējums: Versijām 7.4, 8.0 un 8.1 ir minimāli ielāpi pirmkodā, bet nav gatavu laidienu. Kas tos izmanto, tam PHP jābūvē, jātestē un turpmāk jāuztur pašam.
  4. Komerciāls ilgtermiņa atbalsts: Pakalpojumu sniedzēji, piemēram, TuxCare ELS vai Zend/HeroDevs, piedāvā vecu versiju uzturēšanu. Vai un kad tie aptver PHP2Shell, jāapstiprina rakstveidā; zināmajos avotos tas nebija pierādīts. Vairāk sadaļā Ilgtermiņa atbalsts vecām PHP versijām.

PHP jauninājums vai atpakaļportējums: salīdzinājums

Kritērijs Jauninājums uz atbalstītu versiju Atpakaļportējums (atkarībā no veida)
Aizsardzība pret PHP2Shell Jā, ar 8.2.35, 8.3.36, 8.4.27 vai 8.5.12 Jā, ja pilnīgs un pierādīts
Turpmākie drošības atjauninājumi Oficiāli līdz versijas atbalsta beigām Tikai kamēr attiecīgais pakalpojumu sniedzējs uztur
Apliecinājums Versijas numurs plus pārstartēšana Pakotnes izmaiņu žurnāls ar CVE numuriem, pakalpojumu sniedzēja apstiprinājums
Pūles tagad Vidējas līdz augstas, vajadzīgi saderības testi Zemas distribūcijas gadījumā, augstas pašbūvei
Pūles vēlāk Zemas līdz nākamajam versijas lēcienam Aug ar katru jaunu nepilnību
Risks lietojumprogrammai Nesaderības ar veco kodu un paplašinājumiem Zems, uzvedība lielā mērā paliek tāda pati
Piemērotība kā ilgtermiņa risinājums Jā Tikai distribūcijas atpakaļportējums atbalstītas operētājsistēmas ietvaros

Rinda „Pūles vēlāk” ir svarīgākā. PHP2Shell nebūs pēdējā nepilnība. Katrs mēnesis versijā bez oficiāla atbalsta nozīmē, ka nākamais ziņojums atkal izvirza to pašu jautājumu.

Kura mērķa versija jauninājumā?

Saskaņā ar php.net katram PHP zaram ir spēkā: divi gadi aktīva atbalsta, pēc tam divi gadi tikai drošības labojumi. No tā rodas šie drošības atbalsta beigu datumi:

Versija Drošības atbalsts līdz
PHP 8.2 31.12.2026
PHP 8.3 31.12.2027
PHP 8.4 31.12.2028
PHP 8.5 31.12.2029

Jauninājums uz 8.2 tāpēc ir tikai īsa starpstacija. Kas tāpat migrē, tam jāmērķē versija ar garāku horizontu, ja CMS, veikals un paplašinājumi to atbalsta. To pārbaudiet ražotāja sistēmas prasībās, nevis no atmiņas. Kā darbojas laidienu cikls, izskaidro PHP versijas un laidienu cikls.

Svarīgi

Neatkarīgi no ceļa: pēc uzstādīšanas jāpārstartē visi PHP procesi. Atpakaļportējums, kas atrodas tikai diskā, neaizsargā, kamēr atmiņā darbojas veci darbinieki (worker).

Pragmatiska secība vecām sistēmām

  1. Nekavējoties: iestatīt pagaidu pasākumus saskaņā ar php.net vai sistēmu īslaicīgi atslēgt no tīkla, ja nav pieejams pierādīts labojums.
  2. Tuvāko dienu laikā: uzstādīt pierādītu atpakaļportējumu, pēc iespējas no paša distribūcijas vai ar pakalpojumu sniedzēja rakstveida apstiprinājumu.
  3. Paralēli: pārbaudīt lietojumprogrammas saderību ar atbalstītu versiju un noteikt laika grafiku.
  4. Nākamo mēnešu laikā: jauninājums uz mērķa versiju, sagatavots testa kopijā, ar atkāpšanās plānu.

Atpakaļportējumu uztvert kā tiltu, nevis mērķi, ir izšķirošā doma.

Kad tam pakalpojumu sniedzējs nav vajadzīgs

Ja jūsu serveris darbojas ar atbalstītu Debian, Ubuntu vai RHEL un distribūcija piegādā atpakaļportējumu, pietiek ar regulāru atjauninājumu ar pārstartēšanu un skatienu izmaiņu žurnālā. To pieredzējis administrators paveic viens. Palīdzība atmaksājas pašbūvju, trešo avotu, ļoti vecu versiju vai lietojumprogrammas gadījumā, kuras saderību neviens vairs neaptver.

Kā PHP SOS palīdz konkrēti?

  • Mēs pārbaudām, kuras PHP versijas un pakotņu avoti darbojas jūsu serveros un vai ir pierādīts labojums.
  • Mēs uzstādām atpakaļportējumus, pārstartējam un dokumentējam apliecinājumu caur izmaiņu žurnālu.
  • Mēs testējam jūsu lietojumprogrammu kopijā pret mērķa versiju un nosaucam nesaderības.
  • Mēs plānojam un pavadām jauninājumu ietvaros PHP 8.1 un vecāku versiju migrācijai.

Secinājums

Distribūcijas atpakaļportējums ir pilnvērtīgs ceļš, visi pārējie atpakaļportējumi ir tilti. Kas iestrēdzis uz PHP 8.1 vai vecākas, tam atpakaļportējums jāizmanto, lai iegūtu laiku jauninājumam, nevis lai to atliktu tālāk.

Biežāk uzdotie jautājumi

Vai atpakaļportējums ir tikpat drošs kā jauninājums?

Konkrēti labotajai nepilnībai atpakaļportējums var būt līdzvērtīgs, ja tas ir pilnīgs un pierādīts. Taču tas labo tikai to, kas ir pārnests. Jauninājums uz atbalstītu versiju papildus sniedz visus turpmākos oficiālos drošības atjauninājumus.

Pēc kā atpazīt, ka mans atpakaļportējums aptver PHP2Shell?

Pēc pakotnes izmaiņu žurnāla: tajā jābūt minētiem CVE numuriem CVE-2026-109618 un CVE-2026-109619. Debian un Ubuntu sistēmās to parāda apt-get changelog, RHEL saimē rpm -q --changelog. Versijas numurs vien nav pierādījums.

Cik ilgi PHP 8.2 vēl saņem drošības atjauninājumus?

Saskaņā ar php.net drošības atbalsts PHP 8.2 beidzas 2026. gada 31. decembrī. Kas šodien atjaunina uz 8.2, tam nākamais solis jāieplāno uzreiz.

Vai komerciāls ilgtermiņa atbalsts vecām PHP versijām atmaksājas?

Tas var būt tilts, ja jauninājums īsā laikā nav iespējams. Likt sev rakstveidā apstiprināt, vai un no kura laika PHP2Shell ir aptverts. Līdz šim zināmajos avotos tas nebija pierādīts.

Avoti

Tūlītējs kontakts

Katra stunda ir svarīga. Rakstiet mums tūlīt.

Īsi aprakstiet sistēmu, PHP versiju un novēroto. Mēs sazināsimies, noskaidrosim situāciju un strādāsim attālināti, līdz incidents ir slēgts un dokumentēts.

Tūlītēja palīdzība