Zpět na blog
Bezpečnost31. října 2026Michael Hettwer5 min čtení

PHP bezpečnostní aktualizace: kritické chyby RCE 2026

PHP vydalo nouzové opravy dvou kritických zranitelností s neautentizovaným RCE. Cílové verze, přechodná opatření a termín u PHP 8.2.

Poslední dva měsíce byly pro správce PHP serverů neobvykle hlasité: čtyři bezpečnostní vydání v září, havarijní aktualizace mimo plán v říjnu a termíny ukončení podpory, kvůli nimž je plánování verzí naléhavé. Co se stalo a co s tím — vše vychází z oficiálních oznámení php.net a propojených advisory zpráv.

24. září 2026: bezpečnostní vydání pro 8.2, 8.3, 8.4 a 8.5

PHP vydalo 8.5.11, 8.4.26, 8.3.35 a 8.2.34 (https://www.php.net/archive/2026.php#2026-09-24-5) jako samostatná bezpečnostní vydání pro všechny udržované větve. GitHub security advisories tohoto cyklu obsahují zhruba tucet CVE; tři z nich se týkají typických serverových nastavení přímo:

  • CVE-2026-91768 (GHSA-62xp-839h-2637 (https://github.com/php/php-src/security/advisories/GHSA-62xp-839h-2637)): obcházení ACL pro IPv6 v PHP-FPM (listen.allowed_clients). Kontrola přístupu FastCGI porovnávala jen 12 ze 16 bajtů adresy — útočník sdílející /96 prefix s povoleným klientem mohl na koncový bod FPM proniknout. Nasazení přes Unix sockety a v čistém IPv4 nejsou postižená.
  • CVE-2026-91769: ověřování názvu hostitele v TLS rozšíření OpenSSL mohlo po neúspěchu SAN spadnout na Common Name — relevantní především u napojení na soukromé PKI a interní CA.
  • CVE-2026-91766: HTTP stream wrapper předával hlavičky Authorization/Cookie při cross-origin přesměrování beze změny.

V témže cyklu byly opraveny i problémy v SOAP, Phar, mysqlnd a standardních streamech (úplnou tabulku CVE udržují třetí strany, např. PatchMyPHP (https://patchmyphp.com/php-vulnerabilities/)). Závěr za toto vydání: aktualizovat, restartovat FPM workery a zkontrolovat php -v u každého SAPI — ne jen v CLI.

21. října 2026: havarijní vydání pro dvě kritické zranitelnosti

V polovině října to vyvrcholilo. Po neobvyklém předběžném oznámení (https://news-web.php.net/php.announce/509) — samo o sobě signál vážnosti — vydalo PHP 21. října 2026 v 14:00 UTC verze 8.5.12, 8.4.27, 8.3.36 a 8.2.35 (https://www.php.net/archive/2026.php#2026-10-21-5). Opravují dvě kritické zranitelnosti, v předběžném oznámení hodnocené na 9,2 (CVSS v4.0):

  • CVE-2026-109618 — „RCE via OOM corruption“ (GHSA-w8hw-w9fx-j79w (https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w)): zpracování nedostatku paměti může přerušit PHP, zatímco interní data požadavku jsou jen částečně inicializovaná; úklid je pak může považovat za platná.
  • CVE-2026-109619 — „RCE via stale global state“ (GHSA-6wmf-4rv5-p3rp (https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp)): stav vlastněný požadavkem může přežít uvolnění paměti a stejný worker ho při dalším požadavku může znovu použít.

Obě umožňují neautentizované vzdálené spuštění kódu dříve, než vůbec běží aplikační kód. Podle php.net je riziko nejvyšší u Apache s mod_php (tam existuje demonstrovaný exploit); postiženy jsou ale i PHP-FPM, php-cgi, FrankenPHP a LiteSpeed. V oficiálním advisory (https://www.php.net/archive/2026.php#2026-10-21-5) stojí jasně: neexistují žádná kompletní opatření — aktualizace je jediná bezpečná volba. Distribuce Linuxu dostaly patche předem, balíčky tedy bývaly připravené už ve stejný den.

Když nelze aktualizovat hned

Jen aktualizace zavírá zranitelnost úplně, ale advisory uvádí přechodná opatření, která zužují útočné cesty, dokud pracujete na nasazení:

  • Nastavit memory_limit=-1 tak, aby aplikace nemohly přepsat (php_admin_value v FPM poolu či konfiguraci Apache), a nízké post_max_size (8M bez uploadů, 32M s nimi), s upload_max_filesize pod ním.
  • Vynutit limity na velikost požadavku, počet polí a zanoření úrovni web serveru či proxy; cgroup/kontejnerové limity jako hranici dostupnosti. Nepoužívat RLIMIT_AS ani RLIMIT_DATA — ty zranitelnou cestu alokace teprve spouštějí.
  • Nastavit session.upload_progress.enabled=0 a restartovat každý worker; u PHP 8.5 navíc fatal_error_backtraces=0.
  • Ponechat aktivní: 23. října PHP přidalo informativní advisory (https://www.php.net/archive/2026.php#2026-10-23-1) k CVE-2026-115560, málo pravděpodobné kombinaci změny serializačního handleru a upload progress jako vektoru RCE — úplným řešením dojde s příštím běžným opravným vydáním.

Starší větve a termín u 8.2

PHP 8.1 a starší nedostávají od projektu žádné aktualizace; existují jen minimální source backporty pro 7.4, 8.0 a 8.1 jako nouzová cesta pro vlastní kompilátory. Plánujte záměrně: podle tabulky podporovaných verzí (https://www.php.net/supported-versions.php) končí bezpečnostní podpora PHP 8.2 31. prosince 2026 — za dva měsíce. Každá inventura 8.2 proto potřebuje naplánovanou cestu upgradu na 8.3 a novější — teď, ne po Silvestru. PHP 8.6.0 je stále v release candidates (RC4 obsahuje tyto opravy, RC5 je plánován na 5. listopadu 2026) a do produkce nepatří.

Windows hosty

  • října vyšly znovu sestavené Windows balíčky (https://www.php.net/archive/2026.php#2026-10-26-1) (8.5.12-1, 8.4.27-1, 8.3.36-1, 8.2.35-1) a obsahují Brotli 1.2.1, které opravuje CVE-2026-111497 — out-of-bounds zápis při dekompresi Brotli. Na Windows si ověřte, že máte rebuildy s -1, nikoliv původní binárky.

Checklist pro správce serverů

  • Zkatalogizujte každý PHP SAPI ve své správě (php -v v CLI, FPM i mod_php kontextu) — doporučení britského NCSC (https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php) k CVE-2026-109618/109619 zdůrazňuje právě zmapování, ne jen upgrade.
  • Aktualizujte na 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (nebo na backport vaší distribuce) a restartujte všechny workery.
  • Pokud je patchování zpožděno, použijte výše uvedená opatření — systémy veřejně dostupné z internetu s nejvyšší naléhavostí.
  • U systémů, které byly chvíli vystaveny riziku, hledejte stopy napadení, dřív než úlohu uzavřete.

Závěr

Obě neautentizovaná RCE jádra PHP patří k událostem, kdy rozhodují hodiny: stavy distribučních balíčků, nastavení FPM poolů a disciplína aktualizací rozhodnou, zda vaše flotila zůstane bezpečná. Právě to je každodenní práce Linux-Server-Admin.com s.r.o. (https://linux-server-admin.com): spravujeme linuxové servery a PHP stacky, koordinujeme havarijní patchování s odpovědnými za aplikace a udržujeme otestovanou cestu aktualizací — potichu, v oknech údržby, ještě než se tvoří fronty alarmů. Pokud to příští nouzové vydání zvládnete spíš s podporou, naše týmy v Praze najdete na webu.

Zdroje

  • Novinky php.net 2026 a security advisory z 21. října: https://www.php.net/archive/2026.php
  • GHSA-w8hw-w9fx-j79w / GHSA-6wmf-4rv5-p3rp: https://github.com/php/php-src/security/advisories
  • NVD položky: https://nvd.nist.gov/vuln/detail/CVE-2026-109618 a https://nvd.nist.gov/vuln/detail/CVE-2026-109619
  • Podporované verze PHP: https://www.php.net/supported-versions.php
  • Doporučení UK NCSC: https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php
  • CERT/CC VU#763488: https://www.kb.cert.org/vuls/id/763488