[{"data":1,"prerenderedAt":343},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:x":8,"i-lucide:arrow-right":10,"blog-\u002Fblog\u002Fphp2shell-zranitelnost-php-wordpress":12,"blog-more-\u002Fblog\u002Fphp2shell-zranitelnost-php-wordpress":328,"i-lucide:arrow-left":341},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M18 6L6 18M6 6l12 12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"id":13,"title":14,"author":15,"body":16,"category":311,"date":312,"description":313,"draft":6,"extension":314,"meta":315,"minutes":316,"navigation":317,"path":318,"seo":319,"stem":320,"tags":321,"updated":326,"__hash__":327},"blog\u002Fblog\u002Fphp2shell-zranitelnost-php-wordpress.md","PHP2Shell: kritická díra v PHP a co teď dělat s webem na WordPressu","petr",{"type":17,"value":18,"toc":301},"minimark",[19,47,51,56,62,76,83,94,98,101,115,118,124,131,135,138,145,148,152,210,213,217,239,243],[20,21,22],"zkratka",{},[23,24,25,34,41,44],"ul",{},[26,27,28,29,33],"li",{},"Opravy dvou kritických chyb v PHP vyšly 21. října (CVE-2026-109618 a CVE-2026-109619, souhrnně ",[30,31,32],"strong",{},"PHP2Shell","). Zranitelné jsou všechny verze PHP vydané za poslední desetiletí.",[26,35,36,37,40],{},"Chyba není ve WordPressu ani v pluginech, ale v samotném PHP. ",[30,38,39],{},"Aktualizace WordPressu ji neopraví",", musí se aktualizovat PHP na serveru.",[26,42,43],{},"Pokusy o zneužití jdou v řádu milionů. Potvrzený úspěšný průnik zatím veřejně není, ale funkční exploit existuje.",[26,45,46],{},"Co udělat: zjistit verzi PHP, písemně se zeptat hostingu na obě CVE a starý web na PHP 7 konečně převést na podporovanou verzi.",[48,49,50],"p",{},"PHP běží podle W3Techs na zhruba 69 % webů, u kterých jde serverový jazyk poznat. WordPress pohání asi 40 % všech webů. Když se tedy objeví díra přímo v PHP, nejde o problém jednoho pluginu, ale o problém velké části internetu. Přesně to se stalo tento týden.",[52,53,55],"h2",{"id":54},"co-se-stalo","Co se stalo",[48,57,58,59,61],{},"Výzkumníci z Wiz Research (ve spolupráci s Calif a OpenAI) našli v srpnu v jádru PHP sadu chyb v práci s pamětí. Wiz je pojmenoval ",[30,60,32],{},". Oficiálně jde o dvě zranitelnosti:",[23,63,64,70],{},[26,65,66,69],{},[30,67,68],{},"CVE-2026-109618"," – když PHP během zpracování požadavku dojde paměť, skončí s napůl připravenými daty a úklid je pak považuje za platná. Spouští se to speciálně upraveným odesláním formuláře nebo souboru.",[26,71,72,75],{},[30,73,74],{},"CVE-2026-109619"," – vnitřní stav jednoho požadavku přežije uvolnění paměti a použije ho až další požadavek, který obslouží stejný proces.",[48,77,78,79,82],{},"Obě mají hodnocení závažnosti ",[30,80,81],{},"9,2 z 10 (kritické)",". Útočník se nemusí přihlásit a na webu nemusí být nic dalšího zranitelného. Wiz předvedl spuštění vlastního kódu na oficiálních obrazech WordPressu, Drupalu i Joomly a stačil k tomu i obyčejný „Hello World\" skript. Kromě převzetí serveru umí jedna z cest vytáhnout z paměti data cizích požadavků – hesla, tokeny nebo API klíče jiných návštěvníků.",[48,84,85,86,89,90,93],{},"Opravy vyšly ",[30,87,88],{},"21. října"," ve verzích ",[30,91,92],{},"PHP 8.2.35, 8.3.36, 8.4.27 a 8.5.12",". Detaily ale unikly už den předtím a podle Amazonu se první pokusy o zneužití objevily dokonce 17. října, tedy ještě před vydáním oprav. Cloudflare hlásil desetitisíce pokusů do 45 minut od oznámení a „miliony\" během dalších hodin. Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal 21. října upozornění s doporučením aktualizovat okamžitě a Úřad vlády preventivně na několik hodin odstavil svůj web.",[52,95,97],{"id":96},"je-opravdu-zranitelný-každý-wordpress","Je opravdu zranitelný každý WordPress?",[48,99,100],{},"Ve směru ano, v detailu je to složitější. Tohle rozlišení je podstatné, protože v médiích se teď mísí dvě věci:",[23,102,103,109],{},[26,104,105,108],{},[30,106,107],{},"Pokusy o útok jsou masové a plošné."," Roboti zkoušejí všechno, co běží na PHP.",[26,110,111,114],{},[30,112,113],{},"Potvrzený úspěšný průnik zatím veřejně není."," Podle watchTowr ani jeden z kolujících veřejných „exploitů\" ve skutečnosti kód nespustí. Některé jen shodí server, některé jsou dokonce podvržený malware. Funkční exploit ale existuje (Wiz ho předvedl) a je jen otázka času, kdy se objeví i jinde.",[48,116,117],{},"Hodně záleží i na tom, jak hosting PHP na serveru spouští. Nejrizikovější je starší způsob, který se dnes používá hlavně u levných nebo neudržovaných serverů. U moderních hostingů je útok složitější, ale zranitelné jsou také.",[48,119,120,121],{},"Pro majitele webu z toho plyne jednoduché pravidlo: ",[30,122,123],{},"dokud nemáte potvrzeno, že PHP je opravené, berte web jako zranitelný.",[48,125,126,127,130],{},"Pro úplnost: ",[30,128,129],{},"Shoptet"," a další pronajímané e-shopové platformy se tohle netýká z vaší strany. Server spravuje provozovatel a vy na něm nic měnit nemůžete. Týká se to hlavně webů, kde si hosting vybíráte sami – WordPress, WooCommerce, PrestaShop, Magento, Shopware a weby na míru v PHP.",[52,132,134],{"id":133},"proč-jsou-nejvíc-ohrožené-staré-weby","Proč jsou nejvíc ohrožené staré weby",[48,136,137],{},"Oficiální opravené verze vyšly jen pro PHP 8.2 až 8.5. Pro PHP 7.4, 8.0 a 8.1 zveřejnili vývojáři PHP pouze zdrojové záplaty a je na hostingu, jestli je nasadí. Pro PHP 7.3 a starší neexistuje oficiálně nic.",[48,139,140,141,144],{},"Podle W3Techs přitom běží na PHP 7.x zhruba ",[30,142,143],{},"27 % PHP webů"," a na PHP 5.x dalších téměř 8 %. U nás to dobře známe: web, který kdysi někdo udělal a „funguje\", se roky neaktualizoval, protože by se při přechodu na novější PHP mohl rozbít. Teď za to hrozí daleko vyšší cena než za upgrade.",[48,146,147],{},"Někteří čeští hostitelé reagovali rychle. Například Český hosting oznámil 21. října opravy pro PHP 8.4 a 8.2, záplaty i pro starší větve a zákazníkům doporučil přechod na 8.4. U ostatních velkých hostingů jsme v době psaní veřejné vyjádření nenašli, takže se vyplatí zeptat napřímo.",[52,149,151],{"id":150},"co-udělat-ještě-tento-týden","Co udělat ještě tento týden",[153,154,155,166,172,182,188,198,204],"ol",{},[26,156,157,160,161,165],{},[30,158,159],{},"Zjistěte verzi PHP."," Ve WordPressu: ",[162,163,164],"em",{},"Nástroje → Stav webu → Informace → Server → Verze PHP",". Případně v administraci hostingu.",[26,167,168,171],{},[30,169,170],{},"Bezpečné jsou verze 8.2.35, 8.3.36, 8.4.27, 8.5.12 a novější."," Nižší číslo ještě nemusí znamenat problém – hosting mohl opravu doplnit i do starší verze, aniž by se číslo změnilo.",[26,173,174,177,178,181],{},[30,175,176],{},"Napište hostingu."," Stačí jedna věta: ",[162,179,180],{},"„Je PHP, na kterém běží můj web, opravené proti CVE-2026-109618 i CVE-2026-109619, a od kdy?\""," Ptejte se na obě CVE, ne obecně na „bezpečnostní aktualizace\".",[26,183,184,187],{},[30,185,186],{},"Pokud jste na PHP 8.1 nebo starším, naplánujte přechod na 8.4 nebo 8.3."," Většina hostingů umožní verzi přepnout v administraci. Před přepnutím si web zazálohujte a vyzkoušejte, jestli všechno funguje (hlavně košík, formuláře a platby).",[26,189,190,193,194,197],{},[30,191,192],{},"Používáte Cloudflare?"," Od 21. října má i bezplatný tarif zapnutá pravidla firewallu proti těmto útokům. U placených tarifů zkontrolujte, že sada pravidel je v režimu ",[162,195,196],{},"Block",". Pomůže to ale jen tehdy, když na server nejde přistoupit napřímo, mimo Cloudflare.",[26,199,200,203],{},[30,201,202],{},"Neinstalujte „PHP2Shell fix\" pluginy."," Plugin chybu v PHP opravit nemůže a některé z nich kolují jako podvrh.",[26,205,206,209],{},[30,207,208],{},"Pokud si všimnete něčeho divného"," (neznámí administrátoři, nové soubory, opakované chyby 500 od 17. října), berte server jako možná napadený a změňte všechna hesla a API klíče, které na něm byly uložené – včetně přístupů do platební brány nebo do reklamních systémů.",[48,211,212],{},"Aktualizace WordPressu, šablon a pluginů je samozřejmě pořád dobrý nápad, jen tuhle konkrétní chybu neřeší.",[52,214,216],{"id":215},"jak-to-řešíme-my","Jak to řešíme my",[218,219,222,225,228],"nase-reseni",{"cta":220,"topic":221},"Objednat Rychlý sken","Rychlý sken",[48,223,224],{},"Weby a systémy, které stavíme, na PHP vůbec nestojí. Držíme se současných standardů vývoje a stavíme na moderní infrastruktuře, kde žádný PHP server, který by bylo potřeba záplatovat, vůbec neběží. PHP2Shell se jich proto netýká – včetně tohoto webu.",[48,226,227],{},"Některé weby na WordPressu u klientů spravujeme a technický stav webu je pro nás součást měření: napadený nebo nefunkční web znamená výpadek konverzí, a v horším případě i únik přístupů do reklamních účtů a analytiky.",[48,229,230,231,234,235,238],{},"Proto při ",[30,232,233],{},"Rychlém skenu"," a ",[30,236,237],{},"Diagnostice"," kontrolujeme i to, na čem web běží – zastaralé PHP a systém, chybějící ochranu přes CDN a firewall. Když najdeme starou verzi PHP, nenecháme to u varování – navrhneme konkrétní postup přechodu a na úpravách webu se můžeme podílet. Pokud si nejste jistí, jak je na tom váš web, ozvěte se – podíváme se na to.",[52,240,242],{"id":241},"zdroje","Zdroje",[23,244,245,254,261,268,275,282,289],{},[26,246,247],{},[248,249,253],"a",{"href":250,"rel":251},"https:\u002F\u002Fgithub.com\u002Fphp\u002Fphp-src\u002Fsecurity\u002Fadvisories\u002FGHSA-w8hw-w9fx-j79w",[252],"nofollow","PHP: oznámení oprav a bezpečnostní bulletiny GHSA-w8hw-w9fx-j79w a GHSA-6wmf-4rv5-p3rp",[26,255,256],{},[248,257,260],{"href":258,"rel":259},"https:\u002F\u002Fwww.wiz.io\u002Fblog\u002Fphp2shell-php-rce",[252],"Wiz Research: PHP2Shell",[26,262,263],{},[248,264,267],{"href":265,"rel":266},"https:\u002F\u002Fblog.cloudflare.com\u002Fphp-vulnerabilities-waf-protection",[252],"Cloudflare: ochrana WAF proti zranitelnostem v PHP",[26,269,270],{},[248,271,274],{"href":272,"rel":273},"https:\u002F\u002Fnukib.gov.cz\u002Fcs\u002Finfoservis\u002Faktuality\u002F2470-nukib-upozornuje-na-kriticke-zranitelnosti-v-php\u002F",[252],"NÚKIB upozorňuje na kritické zranitelnosti v PHP",[26,276,277],{},[248,278,281],{"href":279,"rel":280},"https:\u002F\u002Fwww.securityweek.com\u002Fphp2shell-exploitation-started-days-before-patches\u002F",[252],"SecurityWeek: zneužívání začalo dny před vydáním oprav",[26,283,284],{},[248,285,288],{"href":286,"rel":287},"https:\u002F\u002Fwww.tenable.com\u002Fblog\u002Fphp2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote",[252],"Tenable: časté otázky k PHP2Shell",[26,290,291,234,296],{},[248,292,295],{"href":293,"rel":294},"https:\u002F\u002Fw3techs.com\u002Ftechnologies\u002Fdetails\u002Fpl-php",[252],"W3Techs: podíl PHP",[248,297,300],{"href":298,"rel":299},"https:\u002F\u002Fw3techs.com\u002Ftechnologies\u002Fdetails\u002Fcm-wordpress",[252],"podíl WordPressu",{"title":302,"searchDepth":303,"depth":303,"links":304},"",2,[305,306,307,308,309,310],{"id":54,"depth":303,"text":55},{"id":96,"depth":303,"text":97},{"id":133,"depth":303,"text":134},{"id":150,"depth":303,"text":151},{"id":215,"depth":303,"text":216},{"id":241,"depth":303,"text":242},"technika","2026-10-22T16:00","Dvě zranitelnosti přímo v jádru PHP dovolují za určitých podmínek převzít server bez přihlášení. Týká se to WordPressu, WooCommerce, PrestaShopu i webů na míru. Vysvětlujeme, co se stalo a co si ohlídat ještě tento týden.","md",{},6,true,"\u002Fblog\u002Fphp2shell-zranitelnost-php-wordpress",{"title":14,"description":313},"blog\u002Fphp2shell-zranitelnost-php-wordpress",[322,323,324,325],"bezpečnost","PHP","WordPress","WooCommerce",null,"Y4CU9xtkH5tJqSDYnneKbGZqEE4IHPrQk5z4hcGUkU8",[329,335],{"path":330,"title":331,"description":332,"date":333,"category":334,"minutes":316},"\u002Fblog\u002Fchatgpt-ads-ai-upravy","ChatGPT od 30. října přepisuje vaše reklamy sám. Co se mění a jak to vypnout","OpenAI zapnulo v reklamách v ChatGPT automatické úpravy: AI může přepsat titulek a popis, přeložit text a poslat člověka na jinou stránku vašeho webu, a to bez vašeho schválení. Co přesně se mění, co zatím nevíme a co si zkontrolovat před Black Friday.","2026-11-06T15:10","ai",{"path":336,"title":337,"description":338,"date":339,"category":311,"minutes":340},"\u002Fblog\u002Fwordpress-7-1-4-aktualizace","WordPress 7.1.4: oprava 22 chyb a díra, kterou útočníci zkoušejí už teď","WordPress vydal bezpečnostní aktualizaci, která opravuje mimo jiné chybu umožňující převzít web bez přihlášení. Útočníci ji zkoušejí od prvních hodin. Vysvětlujeme, koho se to týká a co si zkontrolovat ještě dnes.","2026-10-31T08:57",5,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":342},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",1793974520043]