PHP:n ja Node.js:n kriittiset tietoturvapäivitykset: mitä teimme ja mitä sinun pitää tehdä

Patrick Wunderlin
Patrick Wunderlin
PHP:n ja Node.js:n kriittiset tietoturvapäivitykset: mitä teimme ja mitä sinun pitää tehdä

PHP ja Node.js julkaisivat tänään 21.10.2026 tietoturvapäivitykset. Erityisesti PHP:n haavoittuvuudet ovat vakavia: kaksi kriittistä haavoittuvuutta antaa hyökkääjälle mahdollisuuden suorittaa koodia verkkopalvelimella kirjautumatta sisään. Hyökkäyksiä havaittiin jo ennen korjausten julkaisua.

WireBoard on jo päivitetty. Päivitys ei aiheuttanut käyttökatkoa. Sinun ei tarvitse tehdä mitään WireBoard-tilillesi tai seurantaskriptillesi.

Jos oma sivustosi tai sovelluksesi käyttää PHP:tä tai Node.js:ää, lue ohjeet ja päivitä jo tänään.

Lyhyesti

Päivitä versioon

Vakavuus

PHP

8.5.12, 8.4.27, 8.3.36 tai 8.2.35 (tai palveluntarjoajasi korjattuun pakettiin)

Kriittinen (CVSS 9,2), koodin etäsuoritus ilman tunnistautumista

Node.js

26.12.1, 24.22.1 tai 22.23.4

Korkea

  • Käytätkö WordPressiä, Magentoa, Drupalia, Laravelia tai muuta PHP-sovellusta? Silloin käytössäsi on PHP. Päivitä heti.

  • Onko sivustosi webhotellissa tai ylläpidetyssä palvelussa? Palveluntarjoajasi vastaa PHP:n korjauksesta. Varmista, että se on tehty.

  • Kun olet päivittänyt PHP:n, käynnistä PHP-FPM tai Apache uudelleen. Muuten vanha versio jää käyttöön.

  • Käytätkö versiota, jonka tuki on päättynyt (PHP 8.1 tai vanhempi, Node.js 25, 23, 20 tai vanhempi)? Siihen ei tule virallista korjausta. Suunnittele siirtyminen tuettuun versioon.


Mitä tapahtui?

PHP: ”PHP2Shell” (CVE-2026-109618 ja CVE-2026-109619)

PHP-tiimi julkaisi korjaukset kahteen kriittiseen haavoittuvuuteen. Kummankin vakavuus on CVSS v4.0 -asteikolla 9,2:

  • CVE-2026-109618: koodin etäsuoritus muistin korruptoitumisen kautta, kun PHP:n muisti loppuu kesken pyynnön käsittelyn.

  • CVE-2026-109619: koodin etäsuoritus vanhentuneen globaalin tilan kautta.

Molempia voi hyödyntää etänä ilman tunnistautumista myös oletusasetuksilla. Yksityiskohdat vuotivat verkkoon päivää ennen suunniteltua julkaisua. Tietoturvayritykset havaitsivat siksi PHP-sivustoihin kohdistuvia hyökkäyksiä ja haavoittuvuuksien kartoitusta jo ennen korjausten saatavuutta. Useat yritykset sulkivat palvelunsa varotoimena päivitykseen asti.

Haavoittuvuudet koskevat kaikkia tuettuja PHP-versiohaaroja: versioita, jotka ovat vanhempia kuin 8.2.35, 8.3.36, 8.4.27 ja 8.5.12.

Node.js: lokakuun 2026 tietoturvapäivitys

Node.js julkaisi versiohaaroihin 26.x, 24.x ja 22.x korjaukset kymmeneen haavoittuvuuteen. Neljän vakavuustaso on korkea. Keskeisimmät korjaukset:

  • CVE-2026-111497: Brotli-purkajan muistialueen ulkopuolinen kirjoitus, joka voi mahdollistaa koodin etäsuorituksen. Sovellus voi altistua jo tekemällä fetch()-kutsun palvelimelle, joka palauttaa Brotli-pakattua dataa.

  • CVE-2026-105483 / CVE-2026-106069: TLS:n palvelinnimen tarkistuksen ohittaminen käyttämällä IP-osoitteiden poikkeavia kirjoitusasuja.

  • CVE-2026-105482: dns.resolve saattoi tehdä nimihaun eri nimelle kuin sille, jonka koodisi oli tarkistanut.

Mitä teimme?

Asensimme molemmat päivitykset tänään koko WireBoardin infrastruktuuriin. Päivitys ei aiheuttanut käyttökatkoa eikä vaikuttanut tietoihin. WireBoardin käyttö jatkuu entiseen tapaan.

Koskeeko tämä sinua?

Sinun on toimittava, jos oma sivustosi, sovelluksesi tai palvelimesi käyttää jotakin seuraavista:

  • PHP suoraan tai julkaisujärjestelmän tai sovelluskehyksen kautta. Tällaisia ovat esimerkiksi WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel ja Symfony.

  • Node.js esimerkiksi Next.js-, Nuxt-, Express- tai NestJS-sovelluksessa tai missä tahansa Nodea käyttävässä taustapalvelussa tai koontipalvelimessa.

Etkö ole varma? Kysy kehittäjältäsi tai palveluntarjoajaltasi: ”Käyttääkö sivustomme PHP:tä tai Node.js:ää, ja onko siihen asennettu tänään julkaistu tietoturvapäivitys?” Se riittää.

Näin tarkistat version

PHP

Ratkaisevaa on, mitä versiota verkkopalvelimesi käyttää. Komento php -v näyttää päätteessä komentorivin PHP-version, joka voi olla eri.

  1. Luo sivustosi juurihakemistoon tiedosto nimeltä info.php ja lisää sen sisällöksi <?php phpinfo();

  2. Avaa tiedosto selaimessa ja tarkista yläreunan PHP Version -kohta.

  3. Poista tiedosto heti tarkistuksen jälkeen: se paljastaa palvelimesi koko kokoonpanon.

PHP-versio näkyy myös monissa palveluntarjoajien hallintapaneeleissa, kuten cPanelissa ja Pleskissä.

Huomio Linux-jakeluiden paketeista: Ubuntu, Debian, RHEL ja muut vastaavat jakelut tuovat korjauksen usein vanhempaan versioon muuttamatta versionumeroa. Tarkista silloin paketin muutoslokista, löytyvätkö CVE-tunnukset sieltä (katso ohjeet alta).

Node.js

node -v

Korjaus on asennettu, jos tulos on v26.12.1, v24.22.1, v22.23.4 tai saman versiohaaran uudempi julkaisu.

Näin päivität PHP:n

Valitse ohje sen mukaan, miten PHP on asennettu palvelimellesi.

Webhotelli tai ylläpidetty palvelu

Palveluntarjoajasi ylläpitää PHP:tä ja asentaa korjauksen. Tarkista palvelun tilasivu tai tiedotteet ja varmista sitten versio yllä kuvatulla phpinfo()-tarkistuksella. Jos voit valita PHP-version hallintapaneelista ja käytössäsi on 8.1 tai vanhempi, vaihda versioon 8.2 tai uudempaan. Varmista ensin, että julkaisujärjestelmäsi ja lisäosasi tukevat sitä.

Ubuntu / Debian

sudo apt update
# replace 8.3 with the PHP branch you use
sudo apt install --only-upgrade 'php8.3-*'

# confirm the fix is included
apt changelog php8.3-fpm | grep -E 'CVE-2026-10961(8|9)'

Jos viimeinen komento ei tulosta mitään, korjausta ei ole vielä saatavilla jakelusi pakettivarastossa. Tarkista Ubuntun tietoturvatiedotteet tai Debianin haavoittuvuusseuranta ja yritä myöhemmin uudelleen. Jos käytät Ondřej Surýn PHP-paketteja, päivitä ne samoin niiden omasta pakettivarastosta.

RHEL / AlmaLinux / Rocky Linux

dnf module list php          # see which PHP stream you're on
sudo dnf upgrade 'php*'

# confirm the fix is included
rpm -q --changelog php-fpm | grep -E 'CVE-2026-10961(8|9)'

Jos käytät Remin pakettivarastoa, päivitä paketit sieltä.

Docker

Uuden levykuvan lataaminen ei päivitä jo käynnissä olevia kontteja. Lataa levykuva, rakenna ja luo kontit uudelleen:

docker pull php:8.3-fpm        # use your tag
docker compose build --pull
docker compose up -d

Varmista korjatun version käyttö lukitsemalla se Dockerfile-tiedostoon (esimerkiksi FROM php:8.3.36-fpm).

Lähdekoodista käännetty PHP tai Windows

Lataa korjattu versio osoitteesta php.net/downloads.

Käynnistä lopuksi PHP uudelleen

Tämä vaihe unohtuu helposti. Käynnissä olevat prosessit käyttävät vanhaa PHP-versiota, kunnes ne käynnistetään uudelleen:

# PHP-FPM (Debian/Ubuntu; replace 8.3 with your branch)
sudo systemctl restart php8.3-fpm

# PHP-FPM (RHEL family)
sudo systemctl restart php-fpm

# Apache with mod_php
sudo systemctl restart apache2   # or httpd on RHEL

Varmista sitten uudella phpinfo()-tarkistuksella, että uusi versio on käytössä.

”Riittääkö pelkkä asetuksen muuttaminen?”

Ei. Aluksi verkossa kiersi kiertoratkaisuja, kuten session.upload_progress.enabled-asetuksen poistaminen käytöstä. Ne vain pienentävät riskiä. Eräs PHP:n ydinkehittäjistä kertoi julkisesti, että PHP:n päivittäminen on ainoa varsinainen ratkaisu. Jos olet ottanut kiertoratkaisun käyttöön, pidä se voimassa päivitykseen asti. Älä silti jätä päivitystä tekemättä.

Näin päivität Node.js:n

Asennustapa

Päivitysohje

nvm

nvm install 24 (tai 22 / 26), sitten nvm alias default 24

Virallinen asennusohjelma

Lataa käyttämäsi versiohaaran uusin julkaisu osoitteesta nodejs.org/en/download

Docker

Lukitse korjattu versio tagilla, esimerkiksi FROM node:24.22.1. Suorita sitten docker pull ja rakenna levykuva uudelleen. Vaihtuva tagi, kuten node:24, voi jäädä vanhaan versioon, jos käytät rakentamisessa välimuistiin tallennettua levykuvaa.

Homebrew

brew update && brew upgrade node (tai node@24 / node@22). Päivitys voi tulla Homebrew'hun muutaman tunnin viiveellä. Jos et voi odottaa, käytä nvm:ää tai asennusohjelmaa.

Linuxin paketinhallinta

Päivitä tavalliseen tapaan jakelusi tai NodeSourcen pakettivarastosta.

Sovellusalusta (Vercel, Netlify, Heroku, Render jne.)

Tarkista alustasi suoritusympäristön asetukset ja tiedotteet. Useimmat alustat päivittävät suoritusympäristöt automaattisesti, mutta saatat joutua julkaisemaan sovelluksesi uudelleen.

Päivityksen jälkeen käynnistä sovelluksesi uudelleen (tai julkaise se uudelleen) ja varmista versio komennolla node -v.

Jos versiosi tuki on päättynyt

Viralliset korjaukset julkaistaan vain tuettuihin versioihin:

  • PHP: 8.2, 8.3, 8.4 ja 8.5. PHP 8.1:een ja vanhempiin ei tule virallista korjausjulkaisua. Jotkin Linux-jakelut ja maksulliset pitkäaikaistuen tarjoajat tuovat korjauksia myös vanhempiin versioihin, joten tarkista tilanne omalta toimittajaltasi. Muussa tapauksessa turvallinen ratkaisu on siirtyä tuettuun versiohaaraan. Huomaa, että PHP 8.2:n tietoturvatuki päättyy 31.12.2026.

  • Node.js: 22.x, 24.x ja 26.x. Esimerkiksi versiohaarojen 25, 23 ja 20 tuki on päättynyt, eikä niihin tule korjausta.

Jos et voi päivittää heti, harkitse sivuston suojaamista verkkosovelluspalomuurilla tai pääsyn rajoittamista siihen asti, että päivitys onnistuu.

Lue lisää

Viralliset tiedotteet

Hyödyllisiä oppaita

Jaa artikkeli
Patrick Wunderlin

Kirjoittanut

Patrick Wunderlin

WireBoard.io:n perustaja. Tietotekniikan diplomi-insinööri (EPFL), intohimona verkkoanalytiikka, reaaliaikainen datankäsittely ja yritysten kasvua tukevien työkalujen rakentaminen.

WireBoard

Seuraa sivustoasi reaaliajassa

Live-dashboardit, jotka rakennat itse. Aloita ilmaiseksi. Ei luottokorttia tarvita.