Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →

Miksi WordPress-päivitys ei auta PHP2Shelliä vastaan

Moni ylläpitäjä päivitti WordPressin otsikoiden jälkeen ja tuntee olonsa turvalliseksi. Miksi se ei PHP2Shellin kohdalla riitä ja mikä ratkaisee.

Tilanne Lukuaika 4 minTilanne ja arviointi

Lyhyesti: WordPress-päivitys ei auta PHP-aukkoa PHP2Shell vastaan, koska virhe ei ole WordPressissä vaan PHP:ssä, palvelimen ohjelmistossa, joka suorittaa WordPressin. Dr. Webin mukaan WordPress.org ei siksi suunnittele omaa päivitystä. Suojan voi antaa vain PHP-päivitys palvelimella ja kaikkien PHP-prosessien uudelleenkäynnistys. Sen asentaa yleensä hosting-yrityksenne tai palvelimen ylläpitäjä.

Lähtökohta: ”Mehän päivitimme kaiken”

PHP2Shellin ensimmäisten otsikoiden jälkeen monet ylläpitäjät tekivät itsestään selvän: avasivat WordPressin hallintapaneelin, klikkasivat ”Päivitä nyt” ja päivittivät lisäosat ja teemat samalla. Sen jälkeen kaikki on vihreää, ja tunne sanoo: valmista.

Tässä aukossa tunne pettää. Se ei johdu WordPressistä vaan siitä, missä virhe on. Myös Cloudflare huomauttaa ilmoituksessaan, ettei sovelluskoodin tai lisäosien päivitys korjaa aukkoja.

WordPress-päivitys ja PHP-aukko: kerrosmalli

WordPress-verkkosivusto koostuu useista kerroksista, jotka rakentuvat toistensa päälle. Jokaisella kerroksella on omat päivityksensä ja usein oma vastuutahonsa:

Kerros Esimerkki Kuka tyypillisesti päivittää Koskeeko PHP2Shell?
Käyttöjärjestelmä Debian, Ubuntu, AlmaLinux hosting-yritys tai palvelimen ylläpitäjä ei, mutta toimittaa usein PHP-paketin
Verkkopalvelin Apache, Nginx, LiteSpeed hosting-yritys tai palvelimen ylläpitäjä ajotapa vaikuttaa riskiin
PHP-ajoympäristö PHP-FPM, mod_php hosting-yritys tai palvelimen ylläpitäjä kyllä, aukko on tässä
WordPressin ydin WordPress ylläpitäjä tai toimisto ei
Lisäosat ja teemat WooCommerce, sivurakentimet ylläpitäjä tai toimisto ei

Hallintapaneelin päivityspainike tavoittaa vain kaksi alinta riviä. PHP-ajoympäristö on niiden alla ja WordPressille näkymätön. Miten muut järjestelmät rakentuvat PHP:n varaan, kuvaa artikkeli CMS-järjestelmät ja verkkokaupat PHP:llä.

Miksi WordPress ei voi sulkea aukkoa

Voisi luulla, että WordPress voisi ”ohjelmoida ympärillä”. PHP2Shellin kohdalla se ei toimi kahdesta syystä.

Ensinnäkin molemmat virheet ovat siinä, miten PHP käsittelee pyyntöjä ja siivoaa niiden jälkeen. Se tapahtuu riippumatta siitä, mikä ohjelma PHP:ssä toimii. Toiseksi PHP-tiimi on osoittanut Apachelle ja mod_php:lle hyökkäyksen, joka toimii ennen kuin sovelluskoodia ylipäätään suoritetaan. WordPress, sen lisäosat ja kaikki tietoturvalisäosat eivät silloin pääse edes toimimaan.

Samasta syystä ei auta myöskään ”kovennuslisäosa”, joka muuttaa asetuksia ini_set()-funktiolla. php.net neuvoo nimenomaisesti olemaan asettamatta väliaikaistoimia tätä kautta.

Entä hallinnoitu WordPress?

Hallinnoidun WordPressin tarjouksissa palveluntarjoaja huolehtii usein WordPress-päivitysten lisäksi myös alla olevasta palvelimesta. Se on PHP2Shellin kannalta etu mutta ei automatiikkaa. Kysykää konkreettisesti, onko PHP-päivitys asennettu ja onko kaikki PHP-prosessit käynnistetty uudelleen. Lausuma ”Pidämme WordPressinne ajan tasalla” ei vastaa tähän kysymykseen.

Monta verkkosivustoa, yksi PHP-asennus

Toimistojen ja yritysten, joilla on useita verkkosivustoja, kannattaa tuntea eräs erityispiirre: samalla palvelimella monet WordPress-asennukset jakavat usein saman PHP-version. Jos se on päivittämätön, kaikki ovat alttiita riippumatta siitä, kuinka hyvin kutakin yksittäistä verkkosivustoa ylläpidetään. Toisaalta PHP-päivitys suojaa kaikkia asennuksia kerralla, kunhan kaikki siihen kuuluvat PHP-prosessit käynnistetään sen jälkeen uudelleen. Joka ylläpitää useita PHP-versioita rinnakkain, päivittää jokaisen erikseen.

Tärkeää

Vihreä WordPress-hallintapaneeli ei kerro mitään PHP2Shellistä. Ratkaisevaa on PHP:n korjaustila palvelimella ja kaikkien PHP-prosessien uudelleenkäynnistys.

PHP-version lukeminen WordPressissä oikein

WordPress näyttää PHP-version: hallintapaneelissa kohdassa Työkalut, Sivuston kunto, Tiedot-osiossa Palvelin. Se on hyvä ensimmäinen vihje mutta ei todiste.

Jos siinä lukee haara kuten 8.1 tai vanhempi, se on selvä varoitusmerkki, sillä niille ei ole enää virallisia päivityksiä. Jos siinä lukee 8.2.35, 8.3.36, 8.4.27 tai 8.5.12, korjattu tila on asennettu. Jos siinä lukee tuetun haaran vanhempi numero, backport voi silti olla asennettu. Jakelut ja hosting-yritykset eivät tällöin usein muuta numeroa. Selvyyden tuo vain hosting-yrityksen vahvistus tai katsaus paketin muutoslokiin. Miten se tehdään, kerrotaan kohdassa PHP-version ja korjaustilan tarkistaminen.

Mitä WordPress-ylläpitäjien tulisi tehdä sen sijaan

  1. Kysykää hosting-yritykseltä tai palvelimen ylläpitäjältä: Onko PHP päivitetty, milloin, ja onko kaikki PHP-prosessit käynnistetty uudelleen? Vastaus kirjallisena.
  2. Tarkistakaa PHP-haara: Jos verkkosivusto toimii versiolla 8.1 tai vanhemmalla, suunnitelkaa siirtymä tuettuun haaraan. Mitä versioita WordPress-versionne tukee, näkyy wordpress.orgin järjestelmävaatimuksista. Vaihdon asiakasvalikossa kuvaa PHP-version vaihtaminen hosting-asiakasalueella.
  3. Tarkistakaa jäljet: uudet PHP-tiedostot kansiossa wp-content/uploads, tuntemattomat ylläpitäjätilit, vieraat merkinnät kansiossa mu-plugins. Tyypilliset piilopaikat kuvaa sivu WordPress ja PHP2Shell.
  4. Pitäkää WordPress silti ajan tasalla: ydin, lisäosat ja teemat sulkevat muita aukkoja. Se pysyy velvollisuutena, vain eri velvollisuutena.
  5. Selvittäkää vastuu: Jos toimisto ylläpitää verkkosivustoa, kirjatkaa, vastaako se myös PHP:stä vai vain WordPressistä.

Juuri viimeinen kohta aiheuttaa usein aukkoja. Toimisto ylläpitää WordPressiä, hosting-yritys palvelinta, ja jokainen luulee toisen pitävän PHP2Shellin silmällä.

Miten PHP SOS auttaa konkreettisesti?

  • Kerrosten selvittäminen: Toteamme, kuka WordPress-verkkosivustonne kohdalla vastaa mistäkin kerroksesta.
  • PHP:n päivitys: Omilla tai hallinnoiduilla palvelimilla asennamme PHP-päivityksen ja käynnistämme kaikki prosessit uudelleen.
  • WordPressin tarkistus: Etsimme hyökkäyksen jälkiä tiedostoista, tietokannasta ja tileistä.
  • Todiste: Saatte korjaustilan kirjallisena, myös toimistolle tai asiakkaille välitettäväksi.

Toimintatavan kuvaa PHP-päivityspalvelu.

Yhteenveto

WordPress-päivitys on hyvää ylläpitoa, mutta PHP2Shelliä vastaan väärä kerros. Aukko on kerroksen syvemmällä, palvelimen PHP:ssä. Joka ymmärtää tämän, kysyy oikean kysymyksen oikealta taholta: onko PHP päivitetty, käynnistetty uudelleen ja todistettu?

Usein kysytyt kysymykset

Julkaiseeko WordPress tietoturvapäivityksen PHP2Shelliä vastaan?

Dr. Webin mukaan WordPress.org ei suunnittele päivitystä PHP2Shelliä vastaan, koska aukko on palvelimen PHP-tulkissa. Ratkaisun tuo vain hosting-yrityksen tai palvelimen ylläpitäjän tekemä PHP-päivitys.

Mistä näen WordPressissä PHP-version?

Hallintapaneelissa kohdassa Työkalut, Sivuston kunto, Tiedot-osiossa Palvelin. Näytetty numero ei kuitenkaan kerro varmasti, onko korjaus asennettu, koska hosting-yritykset rakentavat korjauksia usein backportteina ilman uutta versionumeroa.

Suojaako tietoturvalisäosa PHP2Shelliltä?

Vain hyvin rajoitetusti. Lisäosa toimii itse PHP:ssä ja aktivoituu vasta, kun WordPress on ladattu. Apachella ja mod_php:lla PHP-tiimin mukaan hyökkäys osoitettiin, ennen kuin sovelluskoodia ylipäätään suoritetaan. Siinä lisäosa ei voi puuttua asiaan.

Pitäisikö WordPress silti päivittää?

Kyllä. WordPressin, teemojen ja lisäosien ajantasaiset versiot sulkevat muita aukkoja ja kuuluvat hyvään ylläpitoon. Ne eivät vain ratkaise PHP2Shell-ongelmaa.

Lähteet

Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu