Přeskočit na obsah
Magazín Chatujme.cz
Bezpečně online · čtení na 3 min · 46 zhlédnutí

Útočníci zkoušeli kritickou chybu ve WordPressu už v den, kdy vyšla oprava

WordPress vydal 22. září verzi 7.1.2 s opravou jediné chyby, kterou sám označuje za kritickou: web se dá bez přihlášení přimět, aby při hledání šablony načetl cizí soubor PHP. Firma Patchstack viděla první zablokovaný pokus o zneužití týž den v 11.49 UTC a druhý den měl provoz proti téhle chybě víc než desetinásobek objemu z prvního večera.

Náhled výchozí šablony WordPressu Twenty Twelve v prohlížeči
Ukázková stránka šablony Twenty Twelve. Právě témata s adresářem, jehož jméno začíná na page-, jsou jednou z podmínek zneužití. Foto: ゆっかりーん, Wikimedia Commons (CC0)

WordPress vydal 22. září verzi 7.1.2, a je to čistě bezpečnostní vydání s jedinou opravou. Chyba, kterou zavírá, dovolí útočníkovi bez účtu přimět web, aby při hledání šablony stránky načetl vybraný soubor PHP ležící mimo adresáře aktivního tématu. Když se k tomu sejdou další podmínky na serveru, může to skončit spuštěním cizího kódu.

Rozhoduje kus adresy

Vada je ve způsobu, jakým WordPress skládá jména souborů, ve kterých šablonu hledá. Jedno z nich vzniká z části webové adresy a ve zranitelných verzích u něj chybí kontrola na průchod adresářem přes ../, jak popsal Root.cz. Záznam na GitHubu jmenuje funkci get_page_template() a řadí chybu pod CWE-98, tedy vkládání souboru, o jehož jménu rozhoduje útočník.

Známka závažnosti podle CVSS 4.0 je 9,2 z 10 a v číselníku zranitelností má chyba označení CVE-2026-87902. Nahlásil ji Robert Ressl, vydání vedl John Blackbourn.

Bez tří podmínek se nestane nic

Načtení cizího souboru samo o sobě není spuštění kódu. Aby se jedno stalo druhým, musí podle záznamu na GitHubu platit několik věcí naráz:

  • Aktivní téma, ať rodičovské, nebo potomek, má v prvním stupni adresář, jehož jméno začíná na page- – třeba page-templates. Vedle starých šablon Twenty Twelve a Twenty Fourteen to platí i pro rozšířená témata Neve, Hestia a Sydney.
  • Na serveru existuje cílový soubor PHP, který smí účet webového serveru číst.
  • PHP má zapnuté register_argc_argv. Pak se dá použít starý trik se souborem pearcmd.php z nástroje PEAR. Záznam výslovně jmenuje oficiální obraz php pro Docker a výchozí nastavení cPanelu s PHP starším než 8.5.

Od sondy k zapsanému souboru za čtyři hodiny

Bezpečnostní firma Patchstack, která provozuje ochrannou vrstvu pro weby na WordPressu, zveřejnila přehled toho, co jí přišlo na firewall. První pokusy dorazily 22. září v 11.49 UTC, tedy v den vydání 7.1.2. Podle Davea Jonga, který rozbor psal, odpovídají tvary požadavků přesně tomu kódování, které oprava řeší – jejich autor tedy pracoval s rozdílem ve zdrojovém kódu, ne s vlastním nálezem.

Provoz má tři zřetelné stupně. V prvním míří vložení na obyčejný soubor jádra a odpověď útočníkovi jen prozradí, jestli je web zranitelný; nejčastěji jde o wp-links-opml.php a wp-includes/feed-rss2.php. Druhý stupeň zkouší, jestli je na serveru dosažitelný pearcmd.php, a to ve třech obvyklých umístěních. Ve třetím útočník nechá týž nástroj zapsat na disk soubor PHP s vlastním obsahem, obvykle do /tmp. To už je spuštění kódu a Patchstack první takový pokus zachytil 22. září v 15.34 UTC.

Druhý den šel objem nahoru. Patchstack píše o více než desetinásobku proti prvnímu večeru, o vrcholu kolem poledne UTC a o veřejně kolujících skenovacích nástrojích včetně pojmenované šablony pro Nuclei. Zápis souboru na disk přitom zkouší jen menší část adres, ze kterých chodí sondování.

Opravu dostalo dvacet pět řad

Vedle 7.1.2 dostalo opravu dalších dvacet čtyři řad a nejstarší z nich, 4.7.37, vyšla týž den jako 7.1.2. Aktivně podporovaná zůstává jen nejnovější verze a backport projekt sám označuje za službu nad rámec podpory. Weby na řadách 4.0 až 4.6 a na starších tak záplatu nemají vůbec.

Kolika webů se to celé týká, ukazuje statistika W3Techs: k 23. září jede WordPress na 40,2 % všech webů a na 58,8 % těch, u kterých je redakční systém známý. Řada 7 má mezi weby s WordPressem 62,6 %, řada 6 dalších 30,4 %, pětka 4,8 %, čtyřka 2,0 % a trojka 0,2 %. Ve skupinách čtyřky a trojky, tedy u dohromady 2,2 % webů s WordPressem, leží i ty weby, pro které oprava neexistuje.

Většina webů se opraví sama

Drobná vydání jádra, tedy údržbová a bezpečnostní, si weby podle dokumentace WordPressu instalují samy, pokud to správce výslovně nevypnul konstantou v wp-config.php. Projekt takové vypnutí nedoporučuje a tohle je přesně ten případ, kdy se to vyplácí.

Komu automatická aktualizace neběží, má podle Patchstacku dvě vodítka v záznamech serveru. V přístupovém logu se hledají požadavky se slovem pearcmd nebo s +config-show a +config-create; podezřelé jsou i řetězce prohlížeče cve-2026-87902-poc/1.0 a nuclei-cve-2026-87902/1.0. Když na běžnou adresu stránky odpověděl web se stavem 200 a s obsahem OPML nebo RSS, znamená to, že vložení proběhlo. Na samotném stroji pak stojí za prohlédnutí /tmp a /var/tmp: neočekávaný soubor PHP tam podle Patchstacku znamená úspěšný třetí stupeň, a takový server se má brát jako prolomený, ne jako oskenovaný.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci. S příspěvkem ukládáme i IP adresu; co s údaji děláme, stojí v zásadách zpracování osobních údajů.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

Bezpečně online

Aplikace MojeID Klíč umí postkvantové šifrování, zatím jen ve verzi pro Android

Sdružení CZ.NIC oznámilo 16. září, že služba digitální identity MojeID používá postkvantovou kryptografii na dvou místech: v šifrovaném spojení s doménou mojeid.cz a v mobilní aplikaci MojeID Klíč. Obchody s aplikacemi ale ukazují, že novou verzi zatím dostal jen Android, a stávající uživatelé si musejí klíče vyměnit sami.

Bezpečně online

Doplněk pro Twitch posílal přihlašovací tokeny diváků na servery provozovatele bota

Doplněk Twitch Enhanced Viewer přeposílal přihlašovací token diváka na proxy servery služby JeetBot, a to u každého přenosu mimo krátký seznam výjimek. Takový token stačí k tomu, aby se s účtem dalo nakládat bez hesla i bez druhého faktoru. Verze pro Firefox z katalogu Mozilly zmizela, v Chromu přibylo 20. září vydání 85.8.7 – tedy to číslo, u kterého byla oprava ověřena ve Firefoxu.