Dne 21. října 2026 vydal tým PHP nouzové bezpečnostní aktualizace PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Uzavírají dvě kritické zranitelnosti, které umožňují vzdálené spuštění kódu bez autentizace: CVE-2026-109618 a CVE-2026-109619. Obě mají hodnocení CVSS v4.0 9.2. Média je souhrnně nazývají PHP2Shell.
Co se stalo
Obě zranitelnosti souvisejí s tím, že PHP může ponechat paměť v poškozeném stavu, pokud požadavek skončí havárií:
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): RCE prostřednictvím poškození paměti při nedostatku paměti (OOM). Pokud požadavek dosáhne
memory_limitv nevhodný okamžik, interní data požadavku zůstanou inicializována jen částečně. Při čištění požadavku je PHP může považovat za korektní. Na Apache s mod_php lze útok spustit neautentizovaným požadavkem ještě před vykonáním kódu aplikace. Podle PHP Foundation bylo plné vzdálené spuštění kódu demonstrováno s výchozím nastavením. Na PHP-FPM je RCE potvrzeno prostřednictvím cest v kódu aplikace. - CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): RCE prostřednictvím „zastaralého“ globálního stavu. Fatální chyba v nevhodný okamžik může zanechat interní stav ukazující na již uvolněnou paměť předchozího požadavku. Následující požadavek ve stejném workeru může tuto paměť zneužít (use-after-free). Důsledky: únik dat z paměti, pád workeru a spuštění kódu.
Koho se to týká
Podle týmu PHP jsou ohroženy všechny instalace PHP obsluhující webové požadavky: PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP a LiteSpeed. Nejvyšší riziko je u mod_php.
Zranitelné verze (podle bulletinu AWS):
- PHP 8.5.0–8.5.11: opraveno v 8.5.12
- PHP 8.4.0–8.4.26: opraveno v 8.4.27
- PHP 8.3.0–8.3.35: opraveno v 8.3.36
- PHP 8.2.0–8.2.34: opraveno v 8.2.35
- PHP 8.1 a starší už projekt PHP nepodporuje. Bezpečnostní tým PHP zveřejnil minimální backporty zdrojového kódu pro 7.4, 8.0 a 8.1. Zkontrolujte také aktualizace od svého distributora nebo LTS poskytovatele.
Opravy byly také zahrnuty do testovacího sestavení PHP 8.6.0 RC4.
Jak je to vážné
PHP běží na většině webů na světě, mimo jiné na WordPressu, Joomle, Drupalu, Laravelu a Symfony. Podle BleepingComputer zaznamenal Cloudflare první pokusy o útoky ještě před vydáním záplat a nasadil dočasná pravidla WAF. Britský NCSC vyzval k okamžité aktualizaci nebo k dočasnému vypnutí zranitelných systémů. Vývojáři PHP zdůrazňují, že neexistují plnohodnotná obejití: spolehlivě chrání pouze aktualizace.
Co dělat nyní
- Zkontrolujte verzi PHP. V konzoli spusťte
php -v. U webového serveru se verze může lišit, proto ji zkontrolujte pomocíphpinfo()nebo v panelu hostingu. Pro FPM spusťtephp-fpm -v(nebo napříkladphp-fpm8.3 -v). - Aktualizujte na 8.5.12, 8.4.27, 8.3.36 nebo 8.2.35. V Linuxu nainstalujte aktualizované balíčky svého distributora (distributoři obdrželi záplaty předem), například
apt update && apt upgradenebodnf upgrade php*. - Restartujte všechny workery PHP-FPM, Apache a dalších SAPI. Znovu sestavte a nasaďte Docker image.
- Pokud máte PHP 8.1 nebo starší, naplánujte přechod na podporovanou větev. Vezměte také na vědomí, že podpora PHP 8.2 končí 31. prosince 2026.
Dočasná opatření, pokud nelze okamžitě aktualizovat (snižují riziko, ale neodstraňují je):
- Pro CVE-2026-109618: nastavte
memory_limit=-1pomocíphp_admin_value, aby aplikace nemohla tuto hodnotu změnit. Snižtepost_max_sizena 8M (nebo na 32M, pokud jsou potřeba nahrávání souborů). Omezte velikost a složitost požadavků na úrovni webového serveru nebo proxy. - Pro CVE-2026-109619: nastavte
session.upload_progress.enabled=0v php.ini nebo v konfiguraci FPM poolu a restartujte workery. Na PHP 8.5 také nastavtefatal_error_backtraces=0.
Zdroje
- php.net: Security advisory: Critical remote code execution vulnerabilities
- The PHP Foundation: Today's PHP Security Release
- AWS Security Bulletin 2026-143-AWS
- BleepingComputer: PHP ships emergency patches for critical PHP2Shell flaws
- Canadian Centre for Cyber Security: AL26-026
Aktualizujeme váš projekt na novou verzi PHP
Tým CRM Go aktualizuje projekty klientů na aktuální zabezpečené verze PHP. Kontrolujeme kompatibilitu kódu, aktualizujeme závislosti a frameworky, testujeme projekt a nasazujeme aktualizace bez výpadku webu. Pokud si nejste jisti, zda je váš server již chráněn před PHP2Shell, napište nám a pomůžeme vám.
