Pokud jste ode mě dostali e-mail, který vás odkazuje na tuto stránku, je to proto, že váš web zřejmě používá verzi rozšíření Balbooa Forms (Balboou vyvíjený com_baforms, který se ve vašich souborech nachází na cestě /components/com_baforms/ a /administrator/components/com_baforms/), jež je postižena známým bezpečnostním problémem. Balbooa Forms je rozšíření pro tvorbu formulářů pro redakční systém Joomla. Tato stránka vysvětluje, proč na tom záleží, jak spolehlivě zjistit svou verzi a jak problém opravit.

Toto upozornění se týká CVE-2026-56291, kritické (CVSS 10.0), aktivně zneužívané zranitelnosti, která umožňuje neautentizované vzdálené spuštění kódu prostřednictvím front-endové obsluhy příloh k formulářům rozšíření. Postihuje všechna vydání starší než 2.4.1. Byla přidána do katalogu Known Exploited Vulnerabilities americké agentury Cybersecurity and Infrastructure Security Agency dne 10. července 2026.

Vydání, které tento problém opravuje, není vydáním, na které máte aktualizovat, a to je nejdůležitější věc na této stránce. Verze 2.4.1, vydaná 9. července 2026, chybu CVE-2026-56291 skutečně opravuje. Ale druhá, samostatná chyba ve stejném rozšíření, CVE-2026-65880, postihuje vydání až do verze 2.4.2.1 včetně. Provozovatel, který aktualizuje na 2.4.1 nebo 2.4.2, tak sice uzavře dveře, o nichž je toto upozornění, ale nechá otevřené jiné. Pozdější vydání, 2.4.3.1, je dalším bezpečnostním vydáním, které zpevňuje tutéž cestu nahrávání. Proto: aktualizujte Balbooa Forms na verzi 2.4.3.1 nebo novější, což je aktuální vydání v době psaní tohoto textu. Nezastavujte se u 2.4.1.

Neexistuje žádná starší verze, která by byla bezpečná. Ochrany, které tento problém ukončují, byly přidány až ve verzi 2.4.1, což znamená, že ve všech vydáních před ní chyběly. Nejde o chybu, která by byla zavedena až v polovině historie rozšíření: vlastní changelog dodavatele ukazuje, že cesta nahrávání na front-endu běží nepřetržitě zpět přes řadu 2.0.x až do řady 1.x, a nechráněnou obsluhu jsem přímo ověřil ve zdrojovém kódu verzí 2.1.x, 2.2.0 a 2.3.x. „Moje instalace je na to příliš stará” zde není východisko a v praxi je i velká část postižených instalací, které vidím, opravdu stará.

Nic nemusí být zapnuto, aby se vás to týkalo. Přirozeným předpokladem by bylo, že web je ohrožen jen tehdy, pokud zveřejňuje formulář přijímající přílohy souborů, takže chci výslovně říct, že tomu tak není. Neexistuje žádné nastavení, které by ovlivněnou verzi vyjmulo z rozsahu, a bezplatná edice rozšíření obsahuje postiženou část kódu stejně jako placené edice, takže ani „používáme jen bezplatnou verzi” není východisko. Záleží jednoduše na tom, kterou verzi provozujete.

Protože tato chyba byla zneužívána dříve, než existovala oprava, samotná aktualizace není celým úkolem. Měli byste svůj web také zkontrolovat na známky toho, že se tam někdo dostal dřív (viz Pokud jste používali ovlivněnou verzi níže).

Jde o chybu rozšíření, nikoli jádra Joomly. Postihuje stejně weby na Joomle 4, 5 i 6: plně aktuální jádro Joomly vás neochrání, pokud je samotné rozšíření Balbooa Forms zastaralé.

Je tato zpráva legitimní?

Ano. Jedná se o zprávu o zodpovědném odhalení chyby od nezávislého bezpečnostního výzkumníka, vycházející z dobré víry. Nežádám vás o peníze, hesla ani přístup k vašemu webu a nepokusil jsem se do něj vloupat, cokoli nahrát ani cokoli zneužít.

Jediné, co jsem udělal, bylo podívat se na soubory, které váš web poskytuje každému návštěvníkovi (stejně jako je veřejná vaše domovská stránka): vaše stránky, adresy vlastních front-endových assetů rozšíření do nich zapsané a veřejný soubor manifestu rozšíření. To je vše. Konkrétně jsem se nedotkl postižené funkce nahrávání, neodeslal jsem žádný formulář na vašem webu a nepožádal jsem o adresář images/baforms/uploads/ na vašem webu ani kdekoli jinde. Tato cesta se dále na této stránce objevuje jen jako místo, kam se máte podívat vy sami na svém webu. Nic na této kontrole se nedotýká vašich dat, vaší administrace ani žádné soukromé části vašeho webu.

Pokud si chcete ověřit, kdo jsem, podívejte se na kontaktní údaje v dolní části této stránky a na stránku O mně.

Proč na tom záleží

Balbooa Forms vytváří na webech s Joomlou kontaktní formuláře, poptávkové formuláře a podobné formuláře. Součástí toho, co nabízí, je možnost, aby návštěvník při odeslání formuláře přiložil soubor.

V ovlivněných verzích lze k obsluze stojící za touto funkcí přistoupit bez přihlášení a tato obsluha řádně nekontroluje, jaký druh souboru dostává. Tato kombinace umožňuje útočníkovi umístit na váš server program dle vlastního výběru a spustit jej: plné vzdálené spuštění kódu, bez nutnosti účtu a bez jakékoli vaší spolupráce.

Nejde o teoretické riziko. Zranitelnost byla ohodnocena 10,0 z 10, což je maximum, a je aktivně zneužívána v reálném provozu. Zneužívání bylo pozorováno od 8. července 2026, tedy den před vydáním opravy 9. července 2026, a americká agentura Cybersecurity and Infrastructure Security Agency ji 10. července 2026 přidala do katalogu Known Exploited Vulnerabilities. Nahlásil ji Phil Taylor z mySites.guru.

Popisuji to na úrovni, kterou potřebuje majitel webu, aby mohl jednat, a nejdu dál. Nezveřejňuji podrobnosti, které by někomu umožnily chybu reprodukovat, a žádám vás, abyste se ji nepokoušeli vyzkoušet na svém webu ani na webu kohokoli jiného. Zjištění čí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 tento problém uváděl, znamená to, že verze, kterou váš web hlásí, je starší než 2.4.1. Netestoval jsem, zda je konkrétně váš web zneužitelný nebo již napadený, pouze to, že hlásí ovlivněnou verzi.

Jak zkontrolovat svou verzi

Nemusíte mi věřit na slovo, jakou verzi provozujete. Existují dva důvěryhodné způsoby kontroly a jeden zavádějící signál, který je specifický pro toto rozšíření a stojí za to o něm vědět.

Z administrace Joomly (autoritativní zdroj):

  1. Přihlaste se do administrace Joomly (obvykle na vasedomena.cz/administrator).
  2. Přejděte na Systém poté Správa poté Rozšíření (nebo Rozšíření poté Správa, podle verze vaší Joomly).
  3. Vyhledejte Balbooa Forms a poznamenejte si nainstalovanou verzi.

Ze souboru manifestu na disku: otevřete

/administrator/components/com_baforms/baforms.xml

a přečtěte jeho element <version>. To je to, co váš web skutečně provozuje.

Dejte pozor, který soubor baforms.xml čtete. Instalace Joomly s tímto rozšířením obsahuje tři různé soubory tohoto názvu, a pouze ten na výše uvedené cestě patří samotné komponentě. Kopie pod /administrator/manifests/files/ a /plugins/editors-xtd/baforms/ nesou vlastní čísla verzí, která jsou mnohem starší a vůbec nesledují verzi komponenty. Pokud si omylem přečtete jednu z nich, vaše verze bude vypadat výrazně starší, než ve skutečnosti je.

Číslo verze ve zdrojovém kódu vaší stránky není spolehlivé. Balbooa Forms otiskuje verzi do adres svých front-endových assetů, takže pokud zobrazíte zdrojový kód stránky nesoucí formulář, můžete uvidět něco jako ba-form.js?2.3.0.2. Toto číslo se nečte ze souborů, které jsou skutečně obsluhovány. Pochází z databázové kopie manifestu rozšíření v Joomle, kterou aktualizuje pouze instalátor Joomly. Pokud bylo rozšíření někdy aktualizováno zkopírováním souborů přes ty staré, místo instalací přes Joomlu, může stránka inzerovat verzi, kterou web ve skutečnosti neprovozuje, a to chybně oběma směry: staré číslo na aktualizovaných souborech, nebo nové číslo na starých souborech. Místo toho použijte obrazovku administrace nebo soubor manifestu na disku.

Poté použijte toto pravidlo:

  • Cokoli starší než 2.4.1: postiženo tímto problémem. Neexistuje žádná hranice, pod níž by se starší vydání znovu stalo bezpečným.
  • 2.4.1 nebo 2.4.2: co se tohoto problému týká, opraveno, ale stále postiženo chybou CVE-2026-65880, samostatnou zranitelností zmíněnou výše. Pokračujte dál.
  • 2.4.3.1 nebo novější: aktuální. Tam chcete být.

Jak aktualizovat

Nejbezpečnější cestou je aktualizace přímo přes samotnou Joomlu, a to po předchozí záloze:

  1. Zazálohujte svůj web (soubory i databázi) před provedením jakýchkoli změn. Většina poskytovatelů hostingu nabízí zálohy na jedno kliknutí, případně použijte zálohovací rozšíření pro Joomlu.
  2. V administraci Joomly otevřete Rozšíření poté Správa poté Aktualizace a klikněte na Najít aktualizace. Pokud je zde uvedena aktualizace Balbooa Forms, nainstalujte ji odsud.
  3. Pokud se tam žádná aktualizace neobjeví, stáhněte si nejnovější vydání přímo od dodavatele, Balbooa, a nainstalujte je přes Rozšíření poté Instalace. Bezplatná i placené edice se aktualizují přes vlastní web dodavatele.
  4. Instalujte přes Joomlu, nikoli kopírováním souborů přes ty staré. Kopírování souborů ponechá Joomlin záznam o verzi neaktuální, což je přesně to, co dělá číslo ve zdrojovém kódu stránky nespolehlivým už od začátku, a navíc to může zanechat staré soubory.
  5. Po aktualizaci potvrďte nové číslo verze (2.4.3.1 nebo novější) pomocí výše uvedených kroků a zkontrolujte, že se vaše formuláře stále normálně zobrazují a odesílají.

Když už jste u toho, vyplatí se ověřit, že je aktuální i samotná Joomla a vaše ostatní rozšíření, protože stejná zásada platí pro všechna.

Pokud jste používali ovlivněnou verzi

Protože tato chyba byla zneužívána dříve, než byla oprava k dispozici, web, který provozoval ovlivněnou verzi, by neměl předpokládat, že samotná aktualizace stačí. Aktualizace uzavře dveře, ale neřekne vám, zda jimi již předtím někdo neprošel. To stojí za klidnou kontrolu, místo předpokládání nejhoršího: většina webů nenajde nic.

Zde je to, co můžete vy (nebo váš webmaster) hledat na svém vlastním webu:

  • Neočekávané soubory PHP v adresáři pro nahrávání. Hledejte soubory .php kdekoli pod images/baforms/uploads/, včetně všech jeho podadresářů. Nic legitimního tam PHP neumísťuje. Na hostingu s Linuxem provedete kontrolu takto:

    find images/baforms/uploads -name '*.php' -type f
    
  • Administrátorské účty, které nepoznáváte. Projděte si seznam uživatelů v Uživatelé poté Správa. Také zkontrolujte data registrace u účtů, které poznáváte, protože účet vytvořený na počátku července 2026, o kterém jste předpokládali, že tam byl vždy, stojí za druhý pohled.
  • Soubory PHP jinde na webu upravené kolem počátku července 2026 nebo později, zejména takové, které si nedokážete vysvětlit.

Pokud cokoli z toho najdete, považujte web za napadený: vyměňte všechny přístupové údaje (administrace Joomly, databáze, FTP/SSH, hostingový panel), zkontrolujte své uživatelské účty Joomly a skupiny, do kterých patří, a zvažte obnovení ze zálohy pořízené před 8. červencem 2026 namísto pokusu o vyčištění webu na místě. Vyčištění na místě je obtížné provést správně, protože ponechaná zadní vrátka mohou vyčištění zvrátit. Pokud má vaše organizace tým pro IT bezpečnost nebo národní CERT, zapojte je.

Chci to říct jasně: váš web jsem na žádný z těchto ukazatelů nekontroloval a nevím, zda byl váš web postižen. Tento seznam je zde proto, abyste si mohli zkontrolovat sami.

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

Pokud nejste osobou, která web spravuje, přepošlete prosím tuto stránku tomu, kdo to dělá (vašemu webovému vývojáři, agentuře nebo poskytovateli hostingu). Výše uvedené kroky rychle rozpozná.

Pokud web spravujete sami a zaseknete se, rád vám zdarma pomohu nasměrovat se správným směrem. Ozvěte se pomocí kontaktních údajů níže.

Kontakt

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

Na provozovatele se s problémy, jako je tento, obracím výhradně proto, abych jim pomohl zabezpečit jejich weby. Pokud si nepřejete být znovu kontaktováni, stačí mi to sdělit a budu to respektovat.

Odkazy

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

Dodavatel (Balbooa)

Zpravodajství a analýza