Pokud jste ode mě dostali e-mail odkazující na tuto stránku, je to proto, že váš web zřejmě používá verzi pluginu Blog Floating Button (WordPress plugin od autora sunhaengsa / kuma-chan, který se ve vašich souborech nachází v /wp-content/plugins/blog-floating-button/), jež spadá do rozsahu verzí dotčených známým bezpečnostním problémem. Tato stránka vysvětluje, o jaký problém jde, jak zjistit, jakou verzi máte, jak aktualizovat a co udělat poté.

Problém je evidován jako CVE-2026-15383, neautentizované uložené cross-site scripting (XSS) ve funkci pluginu pro sledování kliknutí a jejich vykazování. Týká se každého vydání před 1.4.21 a je opraven ve verzi 1.4.21, zveřejněné 31. července 2026. Pokud používáte cokoli staršího než 1.4.21, aktualizujte Blog Floating Button na 1.4.21 nebo novější.

Jednu věc je třeba říct jasně, protože se liší od některých jiných upozornění, která jsem rozesílal: neexistuje starší verze, která by byla bezpečná. Nejde o chybu, která by byla v určitém okamžiku historie pluginu zanesena a pak opravena. Chybějící ochrana byla přítomna v každém vydání, které kdy plugin zveřejnil, až po verzi 1.4.20 včetně, takže „moje instalace je příliš stará, než aby se jí to týkalo” tu jako únik neposlouží. Jediné verze, kterých se to netýká, jsou 1.4.21 a novější.

Toto upozornění také nezávisí na tom, jak máte web nastavený. Neexistuje žádná volba, kterou by bylo nutné zapnout, aby dotčený kód byl přítomen.

Jde o chybu pluginu, nikoli o chybu jádra WordPressu. Zcela aktuální WordPress vás neochrání, pokud je samotný plugin Blog Floating Button v dotčené verzi.

Je tato zpráva legitimní?

Ano. Jde o upozornění v duchu odpovědného zveřejňování, v dobré víře, od nezávislého bezpečnostního výzkumníka. Nežádám vás o peníze, hesla ani přístup k webu a nepokoušel jsem se do něj proniknout, nic mu poslat ani cokoli zneužít.

Jen jsem si prohlédl veřejně viditelné soubory, které váš web poskytuje každému návštěvníkovi (stejně jako je veřejná vaše úvodní stránka), a poznamenal si číslo verze, které plugin zveřejňuje. Výslovně jsem neposlal nic do funkce pluginu pro sledování kliknutí a nic na této kontrole se nedotýká vašich dat, vaší administrace ani žádné soukromé části webu (podrobněji v části Co jsem udělal a co ne níže).

Pokud si chcete ověřit, kdo jsem, kontakty najdete v dolní části této stránky a na stránce O mně.

Proč na tom záleží

Blog Floating Button přidává do vašich příspěvků a stránek plovoucí tlačítko a vede si vlastní záznamy o kliknutích a návštěvách, abyste si je mohli později projít ve výkazu analytiky přístupů uvnitř administrace WordPressu. V hře jsou tu obě poloviny této funkce.

V dotčených verzích přijímá plugin data o sledování od kohokoli, bez nutnosti přihlášení, a část toho, co o sobě navštěvující prohlížeč nahlásil, ukládá do vlastní databázové tabulky přesně tak, jak to přišlo, aniž by to ošetřil. Když pak výkazová obrazovka uložené řádky zobrazuje, vypíše je do stránky tak, jak jsou. Důsledkem je, že s textem, který uložil anonymní návštěvník, může být při zobrazení výkazu zacházeno jako s kódem.

To, kde takový kód běží, je ta část, u které stojí za to být přesný, a není to to, co naznačuje formulace veřejného hlášení. Výkazová obrazovka je v administraci WordPressu. Kód by tedy běžel v prohlížeči přihlášeného správce, který otevře výkaz přístupů daného pluginu, nikoli v prohlížečích běžných návštěvníků vašeho webu. Pokud jste měli obavu, že jsou tímto napadáni lidé procházející váš web: nejsou, a raději to řeknu na rovinu, než abych ve vás zanechal děsivější dojem, než jaký fakta podporují.

To zároveň určuje měřítko celé věci. Jde o skutečnou neautentizovanou uloženou chybu a stojí za to ji rychle opravit, ale je užší než problémy s převzetím účtu a vzdáleným spuštěním kódu, o kterých píšu jinde. Sama o sobě nikomu nepředá účet správce a sama o sobě nikomu nedá kontrolu nad vaším serverem. Vyžaduje, aby správce otevřel jednu konkrétní obrazovku, jinak se nestane vůbec nic.

Ve stejném vydání jede i druhá oprava. Seznam změn verze 1.4.21 také uvádí, že opravila zranitelnost typu SQL injection ve vyhledávacích a filtrovacích parametrech výkazové obrazovky. Pokud vím, k té nebylo zveřejněno samostatné hlášení ani identifikátor CVE, takže jí žádný identifikátor přisuzovat nebudu; zmiňuji ji proto, že aktualizace na 1.4.21 řeší i ji. Totéž vydání navíc opravilo problém s hlášením chyb, který mohl prozradit cesty k souborům na serveru, a dodavatel provedl revizi ošetření výstupů a sanitizace vstupů napříč celým pluginem. To vše znamená: 1.4.21 je bezpečnostní vydání a stojí za to je nasadit, i když vám hlavní problém připadá mírný.

Popisuji to na úrovni, kterou majitel webu potřebuje k tomu, aby mohl jednat, a dál ne. Nezveřejňuji podrobnosti, které by někomu umožnily problém reprodukovat, a prosil bych vás, abyste to nezkoušeli na svém ani na cizím webu. Přečtení čísla vaší verze, jak je popsáno níže, vám řekne vše, co potřebujete k rozhodnutí, co dělat.

Pokud můj e-mail zmiňoval tento problém, znamená to, že verze, kterou váš web hlásí, je starší než 1.4.21. Netestoval jsem, zda je zrovna váš web zneužitelný; pozoroval jsem pouze verzi.

Týká se to mě?

Vše se scvrkává na jednu otázku: jakou verzi pluginu Blog Floating Button používáte?

Ve správcovské části WordPressu (rozhodující zdroj):

  1. Přihlaste se do nástěnky WordPressu (obvykle vasedomena.cz/wp-admin).
  2. Přejděte na Pluginy a poté Instalované pluginy.
  3. Najděte Blog Floating Button, položku, jejíž složka je blog-floating-button, a přečtěte si verzi uvedenou pod jejím názvem.

Z veřejného manifestu (bez přihlášení): otevřete v prohlížeči vasedomena.cz/wp-content/plugins/blog-floating-button/readme.txt. Řádek Stable tag: poblíž začátku je verze, kterou vaše instalace hlásí, a je to týž veřejný soubor, který jsem četl. U tohoto pluginu se přesně shoduje s verzí uvedenou v administraci, a to v každém vydání, které kdy zveřejnil.

Jedna kontrola, která u tohoto pluginu nefunguje, takže se na ni prosím nespoléhejte. Pokud jste zvyklí odečítat verze pluginů z čísla ?ver= připojeného ke skriptu nebo stylu ve zdroji stránky, tady vás to zavede špatným směrem. Plugin do těchto souborů nevkládá vlastní verzi, takže WordPress místo ní doplní verzi jádra WordPressu. Číslo jako 6.8.5 nebo 7.0.1 u některého ze souborů tohoto pluginu je vaše verze WordPressu, nikoli verze pluginu, a její porovnávání s 1.4.21 nedává smysl. Použijte správcovskou obrazovku nebo readme.txt.

Pak použijte toto pravidlo a mějte na paměti, že verze se porovnávají číselně, nikoli abecedně, takže 1.4.21 je novější než 1.4.9, i když jako text vypadá menší:

  • Cokoli staršího než 1.4.21: zasaženo. Aktualizujte. Neexistuje žádná hranice, pod níž by se starší vydání stalo znovu bezpečným.
  • 1.4.21 nebo novější: již opraveno.

Jak aktualizovat

Plugin je zdarma, stále je zveřejněný a aktivně udržovaný, takže oprava je běžná aktualizace. Nejbezpečnější cestou je aktualizovat přímo přes WordPress a předtím si udělat zálohu:

  1. Zazálohujte si web (soubory i databázi), než začnete cokoli měnit. Většina hostingů nabízí zálohy na jedno kliknutí, případně použijte zálohovací plugin pro WordPress.
  2. V administraci WordPressu přejděte na Nástěnka a poté Aktualizace, nebo na Pluginy a poté Instalované pluginy. Pokud je aktualizace pluginu Blog Floating Button v seznamu, nainstalujte ji odsud.
  3. Pokud dáváte přednost příkazové řádce, WP-CLI dělá totéž: wp plugin update blog-floating-button.
  4. Pokud se žádná aktualizace neobjeví, nejnovější vydání získáte přímo ze stránky pluginu v adresáři WordPress.org, Blog Floating Button, a aktualizujete přes Pluginy, poté Instalace pluginů a Nahrát plugin.
  5. Po aktualizaci si podle kroků výše ověřte nové číslo verze (1.4.21 nebo novější) a zkontrolujte, že se vaše plovoucí tlačítko stále zobrazuje a chová se normálně.

Když už u toho budete, vyplatí se ověřit, že jádro WordPressu a vaše ostatní pluginy jsou aktuální, protože tentýž princip platí pro všechny.

Po aktualizaci

Aktualizace na 1.4.21 nebo novější problém uzavírá: výkazová obrazovka nyní před zobrazením ošetří každou hodnotu, takže uložená data o sledování se zobrazují jako text, místo aby s nimi bylo zacházeno jako s kódem.

Co se už mohlo stát, řečeno opatrně. Cokoli, co anonymní návštěvník uložil před vaší aktualizací, stále leží ve sledovací tabulce pluginu, ale mělo by to nějaký účinek jedině tehdy, pokud některý z vašich správců skutečně otevřel výkaz přístupů daného pluginu v době, kdy byl web v dotčené verzi. Pokud tuto obrazovku nikdo nepoužil, nic nemělo příležitost se spustit. Aktualizace zabrání spuštění do budoucna; nic, co už proběhlo, neodčiní.

Pokud vaši správci ten výkaz používají pravidelně, nebo pokud chcete být prostě důkladní, tyto kontroly jsou rozumné a nic nestojí:

  • Projděte účty správců. V administraci WordPressu přejděte na Uživatelé, vyfiltrujte Správce a ověřte, že každý uvedený účet patří někomu, kdo takový přístup mít má, a má e-mailovou adresu, kterou mít má.
  • Projděte nedávné změny uživatelů, nastavení a obsahu vašeho webu a hledejte cokoli, co nepoznáváte.
  • Pokud něco nevypadá dobře, rozumným dalším krokem je resetovat hesla správců a opětovné vygenerování bezpečnostních klíčů a „saltů” WordPressu v wp-config.php (nové hodnoty jsou na jedno kliknutí v oficiálním generátoru klíčů) jednorázově odhlásí všechny uživatele.

Nemám žádný přehled o tom, zda se na vašem webu skutečně něco stalo, a nezjišťoval jsem to. Jde o preventivní upozornění, nikoli o hlášení incidentu.

Co jsem udělal a co ne

Abych byl zcela transparentní ohledně kontroly, která stojí za mým e-mailem: četl jsem pouze veřejné soubory, které váš web už tak poskytuje každému návštěvníkovi, konkrétně veřejný soubor readme.txt pluginu a vaši úvodní stránku. Nepřistupoval jsem k administraci WordPressu, k databázi ani k žádné soukromé části webu a nikdy jsem neotevřel výkazovou obrazovku vašeho pluginu, což bych ostatně bez účtu na vašem webu ani nemohl.

Především jsem nikdy nic neposlal do funkce pluginu pro sledování kliknutí. Nic nebylo odesláno, uloženo, testováno ani zneužito. Tady na tom záleží víc než u většiny těchto stránek, protože právě sledovací funkce je to, čeho se tento problém týká, takže „nedotkl jsem se toho” je celý rozdíl mezi zveřejněním a průnikem.

Záměrně také nezveřejňuji podrobnosti, které by někomu pomohly tohoto problému využít. Popis výše končí na úrovni, kterou majitel webu potřebuje, a neodkazuji na žádný ukázkový kód.

Jde o pozorování založené na verzi: váš web hlásí verzi starší než 1.4.21. Web v tomto rozsahu už může být chráněn jinými prostředky, například webovým aplikačním firewallem nebo zpětně portovanou opravou. Toto upozornění není tvrzením, že váš web byl v době mé kontroly zneužitelný.

Nemám webmastera / nevím, kudy dál

Pokud web nespravujete vy, přepošlete prosím tuto stránku tomu, kdo to dělá (vašemu vývojáři, agentuře nebo hostingu). Výše uvedené kroky rychle pozná.

Pokud web spravujete sami a zaseknete se, rád vás nasměruji, zdarma. Ozvěte se pomocí kontaktů níže.

Kontakt

Evan Harris, bezpečnostní výzkumník

Kontaktuji provozovatele ohledně takových věcí výhradně proto, abych jim pomohl zabezpečit weby. Pokud si nepřejete být kontaktováni znovu, stačí dát vědět a budu to respektovat.

Odkazy

Oficiální hlášení a sledování

Dodavatel / plugin