Ja pārvaldāt WordPress tīmekļa vietni vai WooCommerce veikalu, esat pieraduši redzēt paziņojumus par spraudņu atjauninājumiem un nelieliem drošības ielāpiem. Tomēr nesen atklāts, ārkārtīgi nopietns drošības apdraudējums prasa tūlītēju uzmanību infrastruktūras līmenī.
Ir atklātas divas kritiskas ievainojamības pašā PHP – programmēšanas valoda, kas ir pamatā WordPress, WooCommerce un aptuveni 70 % tīmekļa.
Šī ievainojamību grupa, ko atklāja kopīgā pētniecības iniciatīvā, kurā piedalījās "Wiz Research", "OpenAI Codex Security" un "Calif", ir ieguvusi nosaukumu “PHP2Shell”. Kiberdrošības un infrastruktūras drošības aģentūra (CISA) ir izdevusi brīdinājumu, aicinot organizācijas nekavējoties ieviest ielāpus, jo šīs nepilnības ļauj neautentificētiem uzbrucējiem izpildīt kodu un atklāt sensitīvu servera atmiņu.
Šeit sniegts tehnisks, taču saprotams skaidrojums par to, ko tas nozīmē jūsu interneta veikalam, kā arī soļi, kas jāveic, lai pasargātu savu uzņēmumu.
PHP2Shell ietver atmiņas drošības ievainojamību grupu pašā PHP kodolā. Atšķirībā no slikti izstrādāta spraudņa, ievainojamais kods atrodas pašā PHP dzinī. Savukārt PHP atrodas jūsu serverī un nodrošina jūsu tīmekļa vietnes, spraudņu, maksājumu vārteju u. c. darbību.
Ja uzbrucējs nosūta jūsu serverim īpaši izveidotu pieprasījumu - bieži vien izmantojot standarta *multipart* datus, piemēram, failu augšupielādes -, viņš var izraisīt vienu no divām savstarpēji saistītām kļūdām:
- CVE-2026-109618 (Out-of-memory corruption): Ja pieprasījuma apstrādes laikā PHP beidzas atmiņa, tas pārtrauc procesu. Tā rezultātā pieprasījuma iekšējie dati var palikt tikai daļēji inicializēti. Turpmākajā sakārtošanas procesā šie bojātie dati tiek uzskatīti par derīgiem, tādējādi paverot iespēju izpildīt ļaunprātīgu kodu.
- CVE-2026-109619 (Stale global state): PHP saglabā atsauces uz pieprasījuma datiem pēc tam, kad tā rezerves atmiņa ir atbrīvota. Nākamais pieprasījums tajā pašā tīmekļa darbiniekā var apiet šo novecojušo stāvokli, izraisot “lietošanas pēc atbrīvošanas” ielaušanos.
Kiberdrošības jomā tas noved pie Attālinātas koda izpilde bez autentifikācijas (RCE). Tas ir sliktākais iespējamais scenārijs tīmekļa vietnei, jo:
- Neautentificēts: Uzbrucējam nav nepieciešams administratora konts, klienta piekļuves dati vai kādas paroles, lai ielauztos jūsu vietnē.
- Koda izpilde: Tas ļauj hakerim izpildīt komandas tieši jūsu serverī, sniedzot pilnīgu kontroli, lai nozagtu klientu datubāzes, instalētu ļaunprogrammatūru vai nolasītu sensitīvus datus no PHP procesa atmiņas (tostarp API atslēgas un maksājumu vārteju marķierus).
Abas ievainojamības ir sasniegušas maksimālo CVSS smaguma pakāpes rādītāju 9,2 (kritisks).
Lai gan PHP2Shell nav WordPress kļūda, WordPress un WooCommerce vietnes ir īpaši iecienīti mērķi. Ievainojamības var tikt aktivizētas, pateicoties tam, kā PHP apstrādā “multipart” pieprasījumus. Citiem vārdiem sakot, tās var izraisīt klients, aizpildot saziņas veidlapu, augšupielādējot failu vai veicot darbības pirkuma noformēšanas procesā.
Tā kā e-komercijas veikali lielā mērā paļaujas uz dinamisku datu iesniegšanu, WooCommerce vietnes atrodas tiešā mērķauditorijā.
PHP izstrādes komanda rīkojās ārkārtīgi ātri, lai nodrošinātu visaptverošus labojumus, taču šie oficiālie ielāpi ir pieejams tikai aktīvām PHP versijām.
Labotās PHP versijas ir:
- PHP 8.5: Salabots ar 8.5.12
- PHP 8.4: Salabots ar 8.4.27
- PHP 8.3: Salabots ar 8.3.36
- PHP 8.2: Salabots ar 8.2.35
Ja jūsu serverī darbojas PHP 8.1 vai vecāka versija, jūsu vietne ir pakļauta nopietnam riskam. PHP 8.1 un vecākas versijas tiek uzskatītas par tādām, kuru dzīvescikls ir beidzies (EOL). Lai gan PHP drošības komanda publicēja minimālus koda labojumus (backports) versijām no PHP 7.4 līdz 8.1, daudzi mūsdienīgi mitināšanas pārvaldības paneļi tos automātiski nepiemēros. Ja jūsu vietne izmanto PHP versiju, kuras atbalsts ir beidzies (EOL), visdrošākais risinājums ir nekavējoties migrēt tīmekļa lietojumprogrammu uz PHP 8.2 vai jaunāku versiju.
Lai gan pastāv īslaicīgi risinājumi (piemēram, Cloudflare ievieš WAF noteikumus vai maina memory_limit un session.upload_progress iestatījumi), drošības risinājumu piegādātāji vienbalsīgi brīdina, ka tie ir tikai un vienīgi pagaidu risinājumi.
PHP atjaunināšana ir vienīgais pilnīgais risinājums.
- Pārbaudiet savu PHP versiju: Pārbaudiet precīzu PHP versiju, kas darbojas jūsu serverī.
- Lietot drošības ielāpus: Ja izmantojat PHP 8.2, 8.3, 8.4 vai 8.5, pārliecinieties, vai jūsu servera infrastruktūrā ir instalēta jaunākā versija.
.xae iepriekš minēto drošības laidienu. - Atjaunināšana no versijām, kuru atbalsts ir beidzies: Ja izmantojat PHP 8.1 vai vecāku versiju, jums nekavējoties drošā veidā jāpārceļ sava WordPress vietne uz PHP 8.2 vai 8.3.
- Restartēt pakalpojumus: Ar lietojumprogrammas atjaunināšanu nepietiek; ir jārestartē Apache, PHP-FPM un visi ilgstoši strādājošie PHP procesi, lai nodrošinātu, ka darbojas labotais dzinējs.
Šis raksts ir paredzēts tikai informatīviem nolūkiem un nav uzskatāms par juridisku konsultāciju. Lūdzu, konsultējieties ar kvalificētu juristu, lai pārliecinātos, ka jūsu veikala darbība atbilst vietējiem un/vai starptautiskajiem noteikumiem.