Krzysztof Śmiałowski / Software & AI
O mne Novinky Chat AI ↗ Hra ↗ Kontakt

← Všetky novinky

AI pomohla nájsť dieru v PHP, ale záplatovanie starých serverov je stále práca pre človeka

22 októbra 2026

Tento článok vznikol pomocou riešenia, ktoré pod ľudským dohľadom orchestruje farmu modelov AI, okrem iného pri rešerši, overovaní, korektúre a preklade.

AI pomohla nájsť dieru v PHP, ale záplatovanie starých serverov je stále práca pre človeka

V stredu 21. októbra vývojári PHP vydali verzie 8.5.12, 8.4.27, 8.3.36 a 8.2.35, ohlásené deň predtým bez podrobností. Opravujú dve zraniteľnosti spoločne nazvané PHP2Shell, obe s hodnotením 9,2 z 10 na stupnici CVSS. Najnebezpečnejšie sú na serveroch Apache s mod_php: útočník tam môže bez prihlásenia, len samotnými požiadavkami HTTP, spustiť vlastný kód skôr, než web stihne vykonať čo i len jeden riadok. Ohrozené sú však aj iné spôsoby spúšťania PHP vrátane populárneho PHP-FPM. Na PHP beží približne 69 % webov, ktorých serverový jazyk sa dá zistiť, vrátane Wikipédie a stránok na WordPresse, uvádza The Verge s odvolaním na službu W3Techs. O objavení zraniteľností sme písali v stredu.

Najstarší zraniteľný kód pochádza z PHP 5.4, teda z roku 2012. Samotnú chybu v ošetrení nedostatku pamäte zaznamenali už v roku 2024 pri oprave chýb, na ktoré upozornil externý audit. Nikto však neukázal, ako ju zneužiť, a tak bezpečnostný tím PHP, ktorému chýbali ľudia, opravu odkladal - PHP Foundation to nazýva „štrukturálnym zlyhaním“. V auguste tohto roka chybu nezávisle od seba nahlásili Calif a OpenAI a o dva týždne neskôr aj Wiz, ktorý patrí Googlu.

Wiz píše, že používal modely Gemini 4 Argon a GPT-5.6 Sol, ako aj vlastný nástroj Wiz Atlas. Podľa firmy „so špičkovými modelmi AI a správnymi nástrojmi jediný výskumník za týždeň dokončil to, čo by predtým tímu svetovej triedy zabralo mesiace práce“. Ktorý model pomohol firme Calif, vieme len od OpenAI. Calif hľadal chyby v rámci programu Patch the Planet, ktorý vedie OpenAI, a práve OpenAI oznámila, že zraniteľnosť sa našla vďaka GPT-5.6 Sol. Samotný Calif názov modelu neuvádza, píše len, že používal modely dostupné pre každého.

AI zrýchľuje aj prácu útočníkov. CJ Moses, šéf informačnej bezpečnosti Amazonu, vysvetľuje, že kedysi sa väčšina útokov začínala až po zverejnení hotového exploitu. Podľa neho dnes AI umožňuje lacno zostaviť funkčný exploit len zo samotnej opravy alebo z bezpečnostného oznámenia. Preto môže byť útočníkov viac a môžu udrieť v priebehu niekoľkých hodín, ba až minút od zverejnenia podrobností. Matthew Prince, šéf Cloudflare, uviedol, že za 45 minút od vydania opravy firma zaznamenala vo svojej sieti desaťtisíce pokusov o útok a po necelých 12 hodinách už milióny.

Časť útočníkov nečakala ani na opravu. Ako uvádza PHP Foundation, deň pred jej vydaním unikli na internet čísla zraniteľností a Calif omylom na chvíľu zverejnil video funkčného útoku. Cloudflare zaznamenal tisíce pokusov za 10 hodín pred vydaním opravy. Amazon našiel vo svojich dátach ešte skorší pokus, zo 17. októbra, teda ešte spred úniku. Odkiaľ o zraniteľnosti niekto vedel už vtedy, nie je známe. Úspešný prienik však zatiaľ nikto nepotvrdil.

Niektoré inštitúcie radšej nečakali. Ako uvádza CNBC s odvolaním na agentúru Reuters, v Holandsku vypli okrem iného vládny portál Overheid.nl, web prístavu v Rotterdame a dokonca aj stránku NCSC, teda samotného národného centra kybernetickej bezpečnosti. Vo Fínsku štátny poskytovateľ IT služieb Valtori odpojil od internetu verejné služby úradov a vo Francúzsku vypli stránky miestnych úradov. CERT Polska, poľský národný CERT, ešte pred vydaním opravy odporúčal to isté: dočasne vypnúť služby na PHP dostupné z internetu, pokiaľ to nenaruší chod organizácie. Americká agentúra CISA radí odpojiť od siete systémy, ktoré sa nedajú hneď aktualizovať, ako aj všetky, ktoré bežia na PHP 8.1 alebo staršom.

Niektorí administrátori už s pomocou AI aktualizovali staré systémy a opisujú to na fórach. Jeden príspevok na Reddite hovorí: „S Claudom mi trvalo len 30 minút aktualizovať zložitý systém LMS z 5.6 na 8.5.“ Niekto, kto spravuje stovky stránok na Drupale 7, píše, že bez AI by tieto aktualizácie trvali mesiace a že chyby, ktoré sa objavia po zmene verzie PHP, teraz opravuje Claude Code. Ďalší príspevok opisuje dve hodiny s agentom, počas ktorých prebehla kontrola vlastných systémov a vznikol plán aktualizácie. Potom agent dostal za úlohu zostaviť prehľadový panel so súhrnom a nasledoval obed. Na Hacker News sa objavil príspevok, podľa ktorého Claude prerobil blog na MediaWiki na statické stránky, takže blog môže do opravy servera fungovať bez PHP. Ide len o výpovede samotných autorov a nikto ich neoveril.

Lenže toto sú príbehy ľudí, ktorí vedeli, čo robia, a mohli v pokoji prejsť na novú verziu. Kto dnes musí v zhone zachraňovať produkčný server, to má oveľa ťažšie, a takých serverov je veľa. Recorded Future cituje skeny VirusTotal: servery na približne 1,1 milióne IP adries prezrádzajú verziu PHP a na 758 000 z nich, teda takmer na 70 %, beží PHP 8.1 alebo staršie. Tím PHP tieto verzie už nepodporuje a hotové vydanie s opravou pre ne nevydal. Americká agentúra CISA radí odpojiť takéto servery od siete, kým nebudú aktualizované.

Zostávajú opravy z linuxových distribúcií a hostingových panelov, no nie každý sa ich dočká. Z prehľadu Digital Applied vyplýva, že Amazon niektoré balíky PHP v Amazon Linux vôbec neplánuje opraviť. Ubuntu 20.04 dostalo opravu len v Ubuntu Pro, ktoré je bezplatné najviac na piatich strojoch. Laravel Forge preto odporúča server s Ubuntu 20.04 alebo starším nahradiť novým a starý vypnúť.

Bez hotového balíka zostávajú len opravy zdrojového kódu, ktoré tím PHP zverejnil pre verzie 7.4, 8.0 a 8.1. Treba ich aplikovať svojpomocne a PHP skompilovať, a to s rovnakými rozšíreniami ako doteraz. Staršie verzie nedostali ani to. Jeden príspevok na Reddite opisuje web na PHP 5.6, pre ktorý dostal Claude za úlohu preniesť opravy do tejto verzie. A hneď nasleduje priznanie: „Je to použiteľné? Kto to, sakra, vie.“

Ani po aktualizácii nie je ľahké posúdiť, či je server bezpečný. Číslo verzie z php -v to nerozhodne: v prehľade Digital Applied tvoria 21 zo 76 položiek balíky, ktoré dostali opravu, ale ponechali si staré číslo verzie. Napríklad Ubuntu 24.04 po aktualizácii stále ukazuje 8.3.6. Aj nástroj OpenAI na kontrolu serverov upozorňuje, že výsledok „UNKNOWN“ neznamená „záplatované“. Samotnou inštaláciou opravy sa to ešte nekončí. Treba reštartovať všetky procesy PHP-FPM, pretože tie spustené pred aktualizáciou ďalej vykonávajú starý, zraniteľný kód. Na serveroch s cPanelom alebo Pleskom treba každú nainštalovanú verziu PHP opraviť osobitne.

Rýchle provizórne riešenia majú svoju cenu. Blokovanie požiadaviek typu multipart, ktoré odporúča okrem iných Sansec, znemožní nahrávanie súborov a v niektorých obchodoch, ako priznáva samotná firma, pokazí aj nákupný košík. Zrušenie limitu pamäte (memory_limit=-1) obíde chybu v ošetrení nedostatku pamäte, ale potom môže jediná požiadavka zabrať celú pamäť servera. Tím PHP navyše upozorňuje, že žiadne nastavenie nechráni úplne.

Zlyhala aj AI. Podľa zákazníkov Hostingera firemný chatbot tvrdil, že PHP-FPM nie je zraniteľné, hoci vývojári PHP píšu jasne, že je. Na Hacker News sa viacerí používatelia sťažovali, že bezpečnostné filtre Clauda a Codexu im prerušovali prácu na tejto zraniteľnosti.

Z týchto výpovedí vyplýva jednoduché rozdelenie. AI výrazne zrýchli prácu tomu, kto vie, v akom režime beží PHP na jeho serveri, odkiaľ pochádzajú balíky a čo skontrolovať po aktualizácii. Kto to nevie, tiež dostane hotový plán, len nebude vedieť posúdiť, či je dobrý.

Majiteľ webu, ktorý sa sám nestará o server, môže začať dvoma otázkami pre toho, kto sa oň stará: či je už oprava nainštalovaná a či niekto prezrel logy od 17. októbra, keď Amazon zaznamenal prvý pokus o útok. Ak na ne nikto nevie odpovedať, v jednom komentári na Hacker News zaznieva rada zvážiť spravovaný hosting, kde PHP aktualizuje poskytovateľ.

Slovníček: CVSS - stupnica od 0 do 10, na ktorej sa hodnotí, aká závažná je zraniteľnosť v zabezpečení. Exploit - program alebo postupnosť požiadaviek, ktorá v praxi zneužíva zraniteľnosť. mod_php - PHP spustené ako modul webového servera Apache. PHP-FPM - PHP spustené ako samostatná skupina procesov, ktorej webový server odovzdáva požiadavky. Multipart - formát požiadavky HTTP, ktorým prehliadač odosiela formuláre so súbormi.