Kritiska säkerhetsuppdateringar för PHP och Node.js: det här har vi gjort och det här behöver du göra

Patrick Wunderlin
Patrick Wunderlin
Kritiska säkerhetsuppdateringar för PHP och Node.js: det här har vi gjort och det här behöver du göra

I dag, den 21 oktober 2026, släppte både PHP och Node.js säkerhetsuppdateringar. Säkerhetsbristerna i PHP är särskilt allvarliga. Uppdateringarna täpper till två kritiska sårbarheter som gör det möjligt att köra kod på en webbserver utan att logga in. Attacker rapporterades redan innan uppdateringen hade släppts.

WireBoard är redan uppdaterat. Det skedde utan avbrott, och du behöver inte göra något med ditt WireBoard-konto eller spårningsskript.

Men om din egen webbplats eller app kör PHP eller Node.js bör du läsa vidare och uppdatera redan i dag.

Kortversionen

Uppdatera till

Allvarlighetsgrad

PHP

8.5.12, 8.4.27, 8.3.36 eller 8.2.35 (eller leverantörens säkerhetsuppdaterade paket)

Kritisk (CVSS 9,2), fjärrkörning av kod utan autentisering

Node.js

26.12.1, 24.22.1 eller 22.23.4

Hög

  • Använder du WordPress, Magento, Drupal, Laravel eller någon annan PHP-app? Då kör du PHP. Uppdatera nu.

  • Har du webbhotell eller en driftad lösning? Din leverantör ansvarar för att säkerhetsuppdatera PHP. Kontrollera att det är gjort.

  • När du har uppdaterat PHP måste du starta om PHP-FPM eller Apache. Annars fortsätter den gamla versionen att köras.

  • Kör du en version som inte längre stöds (PHP 8.1 eller äldre, Node.js 25, 23, 20 eller äldre)? Då får du ingen officiell säkerhetsuppdatering. Planera ett byte till en version som stöds.


Vad har hänt?

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

PHP-teamet släppte rättningar för två kritiska sårbarheter. Båda har fått betyget 9,2 på CVSS v4.0-skalan:

  • CVE-2026-109618: fjärrkörning av kod genom minneskorruption när PHP får slut på minne under en pågående begäran.

  • CVE-2026-109619: fjärrkörning av kod genom kvarvarande globalt tillstånd.

Båda kan utnyttjas på distans utan autentisering i standardkonfigurationer. Detaljer läckte ut på nätet dagen före det planerade släppet. Säkerhetsföretag upptäckte därför både attacker och försök att hitta sårbara PHP-webbplatser innan uppdateringen fanns tillgänglig. Flera företag stängde tillfälligt ned sina tjänster som en försiktighetsåtgärd tills de kunde uppdatera.

Alla PHP-serier som fortfarande stöds berörs i versioner före 8.2.35, 8.3.36, 8.4.27 och 8.5.12.

Node.js: säkerhetsuppdateringar i oktober 2026

Node.js släppte rättningar för versionsserierna 26.x, 24.x och 22.x. Uppdateringarna åtgärdar 10 sårbarheter, varav 4 har hög allvarlighetsgrad. De viktigaste är:

  • CVE-2026-111497: en skrivning utanför tillåtet minnesområde vid Brotli-dekomprimering som kan möjliggöra fjärrkörning av kod. Din app kan drabbas bara genom att anropa fetch() mot en server som svarar med Brotli-komprimerade data.

  • CVE-2026-105483 / CVE-2026-106069: sätt att kringgå kontrollen av värdnamn i TLS genom ovanliga skrivsätt för IP-adresser.

  • CVE-2026-105482: dns.resolve kunde slå upp ett annat namn än det som din kod hade kontrollerat.

Det här har vi gjort

Vi installerade båda uppdateringarna i hela WireBoards infrastruktur i dag. Det skedde utan driftavbrott och utan att några data påverkades. Du använder WireBoard precis som vanligt.

Berörs du?

Du behöver agera om din webbplats, app eller server använder:

  • PHP, direkt eller via ett CMS eller ramverk som WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel eller Symfony.

  • Node.js, till exempel i en Next.js-, Nuxt-, Express- eller NestJS-app, en backendtjänst eller en byggserver som kör Node.

Osäker? Fråga din utvecklare eller driftleverantör. Det räcker att fråga: ”Kör vår webbplats PHP eller Node.js, och har den fått dagens säkerhetsuppdatering?”

Så kontrollerar du din version

PHP

Det är versionen som din webbserver använder som räknas. Kommandot php -v i en terminal visar PHP-versionen för kommandoraden, som kan vara en annan.

  1. Skapa en fil som heter info.php i webbplatsens rotkatalog med innehållet <?php phpinfo();

  2. Öppna filen i webbläsaren och läs av PHP Version högst upp.

  3. Radera filen direkt efteråt: den visar hela din serverkonfiguration.

Många kontrollpaneler för webbhotell, som cPanel och Plesk, visar också PHP-versionen.

Om du använder paket från en Linuxdistribution: Ubuntu, Debian, RHEL och liknande distributioner för ofta in rättningen i äldre versioner utan att ändra versionsnumret. Leta då efter CVE-numren i paketets ändringslogg i stället (se nedan).

Node.js

node -v

Säkerhetsuppdateringen är installerad om kommandot visar v26.12.1, v24.22.1, v22.23.4 eller en senare version i samma versionsserie.

Så uppdaterar du PHP

Välj det avsnitt som stämmer med hur PHP är installerat på din server.

Webbhotell eller driftad lösning

Din leverantör sköter PHP och installerar säkerhetsuppdateringen. Läs leverantörens statussida eller driftmeddelanden och bekräfta sedan versionen med phpinfo() enligt ovan. Om du kan välja PHP-version i kontrollpanelen och kör 8.1 eller äldre, byt till 8.2 eller senare. Kontrollera först att ditt CMS och dina tillägg stöder versionen.

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)'

Om det sista kommandot inte ger något resultat har rättningen ännu inte nått distributionens paketförråd. Kontrollera Ubuntu Security Notices eller Debian Security Tracker och försök igen senare. Använder du Ondřej Surýs PHP-paket uppdaterar du från det paketförrådet på samma sätt.

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)'

Använder du Remis paketförråd uppdaterar du därifrån.

Docker

Att hämta en ny avbild uppdaterar inte containrar som redan körs. Hämta avbilden, bygg om och återskapa containrarna:

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

För extra säkerhet kan du låsa versionen i din Dockerfile till den uppdaterade versionen, till exempel FROM php:8.3.36-fpm.

Kompilerat från källkod eller installerat på Windows

Hämta den säkerhetsuppdaterade versionen från php.net/downloads.

Starta sedan om PHP

Det här steget är lätt att missa. Processer som redan körs fortsätter att använda den gamla PHP-versionen tills de startas om:

# 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

Kontrollera sedan phpinfo() igen för att bekräfta att den nya versionen används.

”Kan jag inte bara ändra en inställning?”

Nej. Tidigt spreds förslag på tillfälliga åtgärder, som att stänga av session.upload_progress.enabled. De minskar bara risken. En av utvecklarna bakom PHP:s kärna har offentligt sagt att en uppdatering av PHP är det enda som verkligen åtgärdar problemet. Om du har infört en tillfällig åtgärd, behåll den tills du har uppdaterat. Men uppdatera ändå.

Så uppdaterar du Node.js

Installerat via

Så uppdaterar du

nvm

nvm install 24 (eller 22 / 26), sedan nvm alias default 24

Officiellt installationsprogram

Hämta den senaste versionen i din versionsserie från nodejs.org/en/download

Docker

Lås taggen till den säkerhetsuppdaterade versionen, till exempel FROM node:24.22.1. Kör sedan docker pull och bygg om. En flytande tagg som node:24 kan fortfarande ge en gammal version om du bygger om från en cachad avbild.

Homebrew

brew update && brew upgrade node (eller node@24 / node@22). Homebrew kan ligga några timmar efter. Använd nvm eller installationsprogrammet om du har bråttom.

Pakethanterare för Linux

Uppdatera som vanligt via din distributions paketförråd eller NodeSource.

Driftplattform (Vercel, Netlify, Heroku, Render med flera)

Kontrollera plattformens inställningar för körmiljön och läs driftmeddelandena. De flesta uppdaterar körmiljöerna automatiskt, men du kan behöva driftsätta appen på nytt.

Efter uppdateringen behöver du starta om appen (eller driftsätta den på nytt) och bekräfta versionen med node -v.

Om du kör en version som inte längre stöds

Officiella rättningar släpps bara för versioner som fortfarande stöds:

  • PHP: 8.2, 8.3, 8.4 och 8.5. PHP 8.1 och äldre får ingen officiell uppdatering. Vissa Linuxdistributioner och leverantörer av betald långtidsupport för in rättningarna i äldre versioner, så kontrollera med din leverantör. Annars är det säkrast att uppgradera till en versionsserie som stöds. Tänk på att PHP 8.2 bara får säkerhetsuppdateringar till och med den 31 december 2026.

  • Node.js: 22.x, 24.x och 26.x. Versionsserier som 25, 23 och 20 stöds inte längre och får ingen rättning.

Om du inte kan uppgradera direkt, överväg att skydda webbplatsen med en webbapplikationsbrandvägg eller begränsa åtkomsten tills du kan uppgradera.

Läs mer

Officiell säkerhetsinformation

Praktiska guider

Dela artikeln
Patrick Wunderlin

Skriven av

Patrick Wunderlin

Grundare av WireBoard.io. Civilingenjör i datateknik (EPFL), brinner för webbanalys, databearbetning i realtid och för att bygga verktyg som hjälper företag att växa.

WireBoard

Följ din webbplats i realtid

Live-dashboards som du bygger själv. Starta gratis. Inget kreditkort, inget krångel.