Bezpečnost

Dvě chyby v jádru WordPressu vedou k převzetí webu, útoky přišly do tří dnů od opravy

WordPress vydal 17. července opravu dvou chyb, které jdou zřetězit do spuštění cizího kódu na výchozí instalaci. Za tři dny popsal SANS Internet Storm Center útoky zachycené v honeypotech, o den později zapsal obě chyby mezi zneužívané i americký úřad CISA.

29. července 2026 · 4 zhlédnutí

Zaplněný sál na konferenci WordCamp Europe
Sál se plní před přednáškou na konferenci WordCamp Europe 2017 v Paříži. Ilustrační snímek. Foto: olivier gobet (Gd6d) from France, Wikimedia Commons (CC BY 2.0)

WordPress vydal 17. července bezpečnostní verzi 7.0.2 a k ní zpětné opravy 6.9.5, 6.8.6 a 7.1 beta2. Oznámení je stručné: řeší jednu kritickou a jednu závažnou chybu a weby se mají aktualizovat okamžitě. Tým WordPress.org k tomu zapnul vynucené aktualizace přes systém automatických aktualizací.

Ani jedna z těch dvou chyb podle rozboru firmy Rapid7 sama o sobě nestačí. Dohromady ale vede nepřihlášený požadavek na výchozí instalaci až ke spuštění cizího kódu na serveru. Řetězec vyšel pod jménem wp2shell u firmy Searchlight Cyber, jejíž výzkumník jednu z chyb našel; provozuje k němu i stránku wp2shell.com.

Co je rozbité

První chyba, vedená jako CVE-2026-60137, je injektáž do databázového dotazu, tedy SQL injection. WordPress nedostatečně hlídá obsah parametru author__not_in ve třídě WP_Query, tedy v té části jádra, která skládá dotazy na příspěvky. Podle záznamu v americké databázi NVD ale sama o sobě potřebuje, aby jí neověřený vstup podal nějaký plugin nebo šablona. Na holé instalaci se k ní útočník nedostane.

To obstará druhá chyba, CVE-2026-63030. Sedí v dávkovém rozhraní REST API na adrese /wp-json/batch/v1, kterým se dá poslat několik požadavků najednou. Rozhraní si plete, ke které cestě požadavek patří: podle Rapid7 dělá kontrolu a vykonání ve dvou oddělených průchodech, takže se dá docílit toho, že se vykoná něco jiného, než co prošlo kontrolou. Katalogizuje se proto jako střet výkladu (CWE-436), ne jako injektáž. Teprve dohromady s první chybou vzniká cesta od anonymního požadavku k injektáži a odtud ke spuštění kódu: útočník si podle Rapid7 založí v databázi účet správce, přihlásí se jím a nahraje vlastní plugin. Plugin je PHP soubor, který WordPress sám spustí.

Searchlight Cyber zatím technické podrobnosti nezveřejňuje. Kdo nemůže aktualizovat hned, má od ní návod zablokovat na aplikačním firewallu cesty /wp-json/batch/v1?rest_route=/batch/v1.

Od opravy k útokům uplynuly tři dny

Den po opravě, 18. července, psal The Hacker News, že zneužití nikdo nehlásil a chyby nejsou v katalogu zneužívaných zranitelností. 20. července vyšel na SANS Internet Storm Center zápis Johannese Ullricha, že útoky běží.

Popisuje je podrobně. Útočníci nejdřív zkoušejí, jestli je web zranitelný: pošlou přes dávkové rozhraní dotaz typu UNION s vloženou značkou a čekají, jestli se jim vrátí. Když ano, přijde druhá vlna, která zapíše do adresáře wp-content/cache soubor v PHP tvářící se jako stránka s chybou 404. Uvnitř je webshell. Otevře se náhodně pojmenovaným parametrem, umí spustit příkaz zakódovaný do base64 a zkouší k tomu postupně několik funkcí PHP – system, passthru, exec, shell_execpopen – aby si poradil i tam, kde jsou některé z nich vypnuté. Vedle toho útočníci zakládali účty správců.

Provozovateli to dává dvě konkrétní věci ke kontrole, na které Ullrich upozorňuje: obsah adresáře s cache a seznam uživatelů. Samotná aktualizace webshell, který už na disku leží, nesmaže.

Dvě instituce, opačné pořadí závažnosti

Zvláštní je, jak obě chyby dopadly při známkování. Čísla CVE jim přidělil WPScan a dal injektáži 5,9 bodu z deseti, tedy střední závažnost, kdežto chybě v dávkovém rozhraní 9,8, tedy kritickou. Americká CISA, která k záznamům připojuje vlastní hodnocení, to má obráceně: injektáž 9,1 (kritická), dávkové rozhraní 7,5 (vysoká). Obě dvojice čísel stojí v záznamu NVD vedle sebe.

Rozdíl se propsal i do lhůt. Když CISA 21. července zapsala obě chyby do katalogu zneužívaných zranitelností, dostaly americké federální úřady na opravu dávkového rozhraní tři dny, do 24. července. U injektáže stanovila termín na 4. srpna, tedy o jedenáct dní později – přestože bez ní ta první nikam nevede. Náš názor: hodnotí se každá chyba zvlášť, jenže útočník je používá jako celek.

Jádro je v katalogu CISA vzácnost

Katalog zneužívaných zranitelností zveřejňuje CISA jako jeden soubor JSON, takže si v něm každý přepočítá, co potřebuje. Vydání z 27. července má 1 655 položek. WordPressu se z nich týká šest a jádra právě dvě – tyhle. Zbylé čtyři jsou tři pluginy zapsané 3. listopadu 2021 a jeden hostingový produkt třetí strany.

Týká se to přitom systému, který podle měření W3Techs k 29. červenci 2026 pohání 41,2 % všech webů a 59,1 % těch, u kterých jde redakční systém rozpoznat.

Zasažené jsou řady 6.9.0 až 6.9.4 a 7.0.0 až 7.0.1. Řada 6.8 dostala opravu 6.8.6, ale jen kvůli injektáži; chyba v dávkovém rozhraní se jí podle NVD netýká. Verze starší než 6.8 zasažené nejsou.

Kdo chybu ohlásil a kolik času oprava koupila

WordPress děkuje za ohlášení injektáže lidem vystupujícím jako TF1T, dtro a haongo. Chybu v dávkovém rozhraní i její spojení s injektáží nahlásil Adam Kues z Assetnote, které patří pod Searchlight Cyber. Vydání vedli John Blackbourn a Barry Abrahamson.

Oprava a zveřejnění přišly týž den. Tři dny nato byl v honeypotech hotový exploit i s webshellem. Lhůta, kterou má správce webu na reakci, se tedy počítá na dny, ne na týdny. Jak dlouhá má být doba mezi nahlášením a zveřejněním, je vlastní spor – letos ho otevřelo GNOME zkrácením své lhůty z 90 dní na 30.

Zdroje

Bezpečnost

Diskuse

Zatím tu nikdo nediskutuje.

Diskutovat mohou přihlášení čtenáři – přihlaste se nebo si založte účet.

← zpět na výpis