Kritické bezpečnostní aktualizace PHP a Node.js: co jsme udělali a co je na vás

Patrick Wunderlin
Patrick Wunderlin
Kritické bezpečnostní aktualizace PHP a Node.js: co jsme udělali a co je na vás

Dnes, 21. října 2026, vyšly bezpečnostní aktualizace PHP i Node.js. Zvlášť závažné jsou opravy PHP: řeší dvě kritické chyby, které útočníkovi umožňují spustit kód na webovém serveru bez přihlášení. První útoky byly hlášeny ještě před zveřejněním oprav.

WireBoard už jsme aktualizovali. Vše proběhlo bez výpadku. Se svým účtem ani měřicím skriptem WireBoard nemusíte nic dělat.

Pokud ale váš vlastní web nebo aplikace běží na PHP či Node.js, čtěte dál a aktualizujte ještě dnes.

Stručně

Aktualizujte na

Závažnost

PHP

8.5.12, 8.4.27, 8.3.36 nebo 8.2.35 (případně balíček s opravou od vašeho dodavatele)

Kritická (CVSS 9,2), vzdálené spuštění kódu bez ověření identity

Node.js

26.12.1, 24.22.1 nebo 22.23.4

Vysoká

  • Používáte WordPress, Magento, Drupal, Laravel nebo jinou aplikaci v PHP? Pak se vás opravy týkají. Aktualizujte hned.

  • Máte sdílený hosting nebo hosting se správou? Opravu PHP instaluje poskytovatel. Ověřte si, že už ji nasadil.

  • Po aktualizaci PHP restartujte PHP-FPM nebo Apache, jinak dál poběží stará verze.

  • Používáte verzi, které už skončila podpora (PHP 8.1 a starší, Node.js 25, 23, 20 a starší)? Oficiální opravu nedostanete. Naplánujte přechod na podporovanou verzi.


Co se stalo

PHP: „PHP2Shell“ (CVE-2026-109618 a CVE-2026-109619)

Tým PHP vydal opravy dvou kritických zranitelností. Obě mají na stupnici CVSS v4.0 hodnocení 9,2:

  • CVE-2026-109618: vzdálené spuštění kódu kvůli poškození paměti, když PHP během zpracování požadavku vyčerpá dostupnou paměť.

  • CVE-2026-109619: vzdálené spuštění kódu kvůli neaktuálnímu globálnímu stavu.

Obě chyby lze zneužít vzdáleně, bez ověření identity a ve výchozí konfiguraci. Podrobnosti unikly na internet den před plánovaným vydáním oprav. Bezpečnostní firmy tak zaznamenaly útoky i pokusy o zneužití na webech s PHP ještě před dostupností záplat. Několik společností své služby preventivně odstavilo, dokud je nemohly aktualizovat.

Zasažené jsou všechny podporované řady PHP ve verzích před 8.2.35, 8.3.36, 8.4.27 a 8.5.12.

Node.js: bezpečnostní aktualizace z října 2026

Pro řady Node.js 26.x, 24.x a 22.x vyšly opravy 10 zranitelností, z nichž 4 mají vysokou závažnost. Mezi nejdůležitější patří:

  • CVE-2026-111497: zápis mimo vyhrazenou paměť v dekompresoru Brotli, který může umožnit vzdálené spuštění kódu. Stačí, aby vaše aplikace zavolala fetch() na server, který vrací data komprimovaná pomocí Brotli.

  • CVE-2026-105483 / CVE-2026-106069: možnosti, jak obejít ověřování názvu hostitele v TLS pomocí neobvyklého zápisu IP adres.

  • CVE-2026-105482: dns.resolve mohlo přeložit jiný název, než který váš kód ověřil.

Co jsme udělali

Obě aktualizace jsme dnes nasadili v celé infrastruktuře WireBoard. Vše proběhlo bez výpadku a bez dopadu na data. Pro vás se v používání WireBoard nic nemění.

Týká se to i vás?

Aktualizaci musíte řešit, pokud váš web, aplikace nebo server používá:

  • PHP, ať už přímo, nebo prostřednictvím CMS či frameworku, jako je WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel nebo Symfony.

  • Node.js, například v aplikaci s Next.js, Nuxt, Express či NestJS nebo v jakékoli backendové službě či na sestavovacím serveru s Node.js.

Nejste si jistí? Zeptejte se svého vývojáře nebo poskytovatele hostingu. Stačí otázka: „Běží náš web na PHP nebo Node.js a má už dnešní bezpečnostní aktualizaci?“

Jak zjistit používanou verzi

PHP

Rozhodující je verze, kterou používá váš webový server. Příkaz php -v v terminálu ukazuje verzi PHP pro příkazový řádek, která se může lišit.

  1. V kořenovém adresáři webu vytvořte soubor info.php s obsahem <?php phpinfo();

  2. Otevřete ho v prohlížeči a nahoře zkontrolujte údaj PHP Version.

  3. Soubor hned poté smažte: zpřístupňuje kompletní konfiguraci serveru.

Verzi PHP najdete také v mnoha administračních panelech hostingu, například v cPanel nebo Plesk.

Poznámka k balíčkům linuxových distribucí: Ubuntu, Debian, RHEL a další distribuce často přenášejí opravu do starší verze, aniž by změnily její číslo. V takovém případě hledejte identifikátory CVE v seznamu změn balíčku (viz níže).

Node.js

node -v

Opravu máte, pokud příkaz vypíše v26.12.1, v24.22.1, v22.23.4 nebo novější verzi v rámci stejné řady.

Jak aktualizovat PHP

Vyberte postup podle toho, jak máte PHP na serveru nainstalované.

Sdílený hosting nebo hosting se správou

PHP spravuje a opravu instaluje váš poskytovatel. Podívejte se na jeho stavovou stránku nebo oznámení a pak ověřte verzi pomocí phpinfo() podle postupu výše. Pokud si v administračním panelu můžete vybrat verzi PHP a používáte 8.1 nebo starší, přejděte na 8.2 či novější. Nejdřív ale ověřte, že ji váš CMS a pluginy podporují.

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

Pokud poslední příkaz nic nevypíše, oprava zatím není v repozitáři vaší distribuce. Zkontrolujte Ubuntu Security Notices nebo Debian Security Tracker a zkuste to později. Pokud používáte balíčky PHP od Ondřeje Surého, aktualizujte stejným způsobem z jeho repozitáře.

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

Pokud používáte repozitář Remi, aktualizujte z něj.

Docker

Stažení nového obrazu neaktualizuje už běžící kontejnery. Stáhněte obraz, znovu sestavte a vytvořte kontejnery:

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

Pro jistotu zadejte v souboru Dockerfile přímo opravenou verzi (například FROM php:8.3.36-fpm).

Kompilace ze zdrojového kódu nebo Windows

Stáhněte si opravenou verzi z php.net/downloads.

Poté PHP restartujte

Na tento krok se snadno zapomene. Běžící procesy používají starou verzi PHP, dokud je nerestartujete:

# 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

Pak znovu pomocí phpinfo() ověřte, že už běží nová verze.

„Nestačí jen změnit nastavení?“

Ne. Zpočátku se objevilo několik dočasných řešení, například vypnutí session.upload_progress.enabled. Ta ale riziko jen snižují. Jeden z hlavních vývojářů PHP veřejně uvedl, že jediným skutečně účinným opatřením je aktualizace PHP. Pokud jste dočasné řešení nasadili, ponechte ho do aktualizace v platnosti. Samotnou aktualizaci ale nevynechávejte.

Jak aktualizovat Node.js

Způsob instalace

Postup aktualizace

nvm

nvm install 24 (nebo 22 / 26), poté nvm alias default 24

Oficiální instalátor

Stáhněte si nejnovější verzi své řady z nodejs.org/en/download

Docker

Zadejte konkrétní tag s opravenou verzí, například FROM node:24.22.1, pak spusťte docker pull a obraz znovu sestavte. Obecný tag jako node:24 může při sestavení použít starý obraz z mezipaměti.

Homebrew

brew update && brew upgrade node (nebo node@24 / node@22). V Homebrew se aktualizace může objevit s několikahodinovým zpožděním. Pokud spěcháte, použijte nvm nebo instalátor.

Správce balíčků v Linuxu

Aktualizujte jako obvykle z repozitáře své distribuce nebo z NodeSource.

Hostingová platforma (Vercel, Netlify, Heroku, Render atd.)

Zkontrolujte nastavení běhového prostředí a oznámení své platformy. Většina platforem opravy nasazuje automaticky, ale aplikaci může být potřeba znovu nasadit.

Po aktualizaci restartujte aplikaci (nebo ji znovu nasaďte) a ověřte verzi příkazem node -v.

Pokud používáte verzi po konci podpory

Oficiální opravy vycházejí jen pro podporované verze:

  • PHP: 8.2, 8.3, 8.4 a 8.5. Pro PHP 8.1 a starší oficiální oprava nevyjde. Některé linuxové distribuce a dodavatelé placené dlouhodobé podpory přenášejí opravy i do starších verzí. Ověřte si to u svého dodavatele. Jinak je bezpečnou cestou přechod na podporovanou řadu. Pozor, PHP 8.2 dostává bezpečnostní opravy pouze do 31. prosince 2026.

  • Node.js: 22.x, 24.x a 26.x. Řadám 25, 23 a 20 už podpora skončila a opravu nedostanou.

Pokud nemůžete přejít na novější verzi hned, zvažte dočasnou ochranu webu pomocí webového aplikačního firewallu nebo omezení přístupu.

Další informace

Oficiální bezpečnostní oznámení

Užitečné návody

Sdílet článek
Zkopírováno!
Patrick Wunderlin

Autor:

Patrick Wunderlin

Zakladatel WireBoard.io. Počítačový inženýr (EPFL), nadšenec do webové analytiky, zpracování dat v reálném čase a tvorby nástrojů, které pomáhají firmám růst.

WireBoard

Sledujte svůj web v reálném čase

Živé dashboardy, které si sestavíte sami. Start zdarma. Bez platební karty, bez obtíží.