Helix3 framework – kritické bezpečnostní zranitelnosti
Bezpečná verze: Helix3 3.1.2 nebo novější · via JoomShaper (account required)
Stručný přehled
plg_ajax_helix3)O co jde?
Helix3 je klasický framework šablon od JoomShaperu. Běží jako systémový plugin společně s AJAX pluginem (plg_ajax_helix3). Právě v tomto AJAX pluginu bylo nalezeno několik zranitelností, na které se lze dostat přes standardní volání com_ajax bez přihlášení.
Popsány jsou mimo jiné: zápis do souborů bez přihlášení (manipulace s cestou přes akci save), mazání libovolných souborů (remove/remove_image), přepsání nastavení šablony (import) a – po přihlášení – eskalace oprávnění až ke spuštění kódu, protože nahrávání obrázků přijímalo i soubory .php. K tomu se přidávají uložené a odražené XSS a klíč k API Google Fonts ponechaný ve zdrojovém kódu.
Oprava je k dispozici od 29. června 2026 jako Helix3 3.1.1; mezitím vyšla verze 3.1.2 – aktualizujte proto rovnou na ni. O číslo CVE bylo v době zveřejnění zažádáno, ale ještě nebylo přiděleno; jako nálezce je uveden Phil Taylor z mySites.guru.
Týká se to i mého webu? – Jak to zjistíte
- Otevřete administraci
Přihlaste se do administrace Joomly (adresa končí na
/administrator). - Přejděte na pluginy
Otevřete Systém›Pluginy (případně Rozšíření›Správa›Správa).
- Vyfiltrujte „Helix3“
Vyhledejte
Helix3, případně „System – Helix3 Framework“, a přečtěte si zobrazené číslo verze. - Posuďte verzi
Je-li verze nižší než 3.1.2, aktualizujte – verze před 3.1.1 jsou akutně zranitelné.
Jak zranitelnost odstranit
- Otevřete správu aktualizací
Přejděte na Systém›Aktualizace›Rozšíření a klikněte na Vyhledat aktualizace.
- Aktualizujte Helix3
Označte položku Helix3 a klikněte na Aktualizovat. Verze 3.1.2 se stahuje z aktualizačního serveru JoomShaperu.
- Ověřte výsledek
V Systém›Pluginy zkontrolujte, že se nyní zobrazuje 3.1.2 (nebo novější).
Oficiální zdroj: via JoomShaper (account required). Ujistěte se, že máte alespoň Helix3 3.1.2 nebo novější.
Byl už web napadený?
.htaccess) a nevysvětlené změny v parametrech stylu šablony. V případě pochybností nechte web odborně vyčistit a změňte všechna hesla.Typický příznak: defacement přes vložený „Custom Javascript“
Častý projev této zranitelnosti: útočníci vloží škodlivý JavaScript přímo do nastavení šablony Helix3 – do pole Custom Code›Custom Javascript. Při načtení stránky tento kód přepíše celou stránku podvrženým obsahem – např. „Hacked by trenggalek6etar“, „Hacked by antonkill“ nebo podobnými hláškami „Hacked by …“.
document.addEventListener("DOMContentLoaded", function(){
document.title = "hacked by trenggalek6etar";
document.body.innerHTML =
'<div style="position:fixed;inset:0;'
+ 'background:#0a0a0a;z-index:2147483647">'
+ ' … HACKED BY trenggalek6etar … '
+ '</div>';
});
Jak to zkontrolujete: v administraci pod Rozšířen훊ablony›Styly›(váš styl Helix3)›Custom Code›Custom Javascript. Najdete-li tam cizí kód jako document.title = "hacked by…" nebo document.body.innerHTML = …, je web napadený: kód odstraňte, příčinu uzavřete aktualizací Helix3 a změňte všechna hesla.
Potřebujete pomoc s vyčištěním webu? Vhodné odborníky najdete v katalogu poskytovatelů služeb Joomla.
Obnovení nastavení šablony ze zálohy databáze
Helix3 ukládá všechna nastavení šablony (logo, barvy, rozvržení, vlastní CSS/JS …) jako JSON do sloupce params tabulky #__template_styles – jeden řádek na každý styl. Pokud o ně přijdete kvůli napadení, neúspěšné aktualizaci nebo nechtěnému resetu, vraťte ze zálohy databáze zpět pouze tuto jedinou hodnotu params, nikoli celou tabulku.
- Najděte aktivní styl
Styly pro frontend mají
client_id = 0, ten aktivní navíchome = 1. Poznamenejte si jeho ID. - Vyhledejte řádek v záloze
V dumpu najděte řádek tabulky
#__template_stylesse stejným názvem šablony. - Uložte si stávající hodnotu
Nejdříve si zkopírujte aktuální hodnotu
paramsz ostrého řádku. - Přepište params
Nahraďte hodnotou ze zálohy pouze
paramstohoto jediného řádku. - Zkontrolujte
Úvodní stránka se načte (HTTP 200) a nastavení jsou zase vidět.
SELECT id, template, home FROM #__template_styles WHERE client_id = 0;
UPDATE #__template_styles SET params = '<JSON ze zálohy>' WHERE id = 12;
Zásah je vratný, dokud máte uloženou původní hodnotu params – a před každou změnou v databázi je záloha povinnost.
Zdroje & další odkazy
- Analýza a kritika changelogu – mySites.guru (Phil Taylor)Původní zpráva s technickými podrobnostmi
- JoomShaper (výrobce)Aktualizaci získáte přes správu aktualizací v Joomle nebo ve svém účtu JoomShaper
Vždy platí oficiální informace příslušného výrobce. Tato stránka neutrálně shrnuje veřejně dostupné informace.
Supporters of this site
htprotect.org is a free, vendor-independent information service. It is supported by:

Joomla host from Germany with active community support – discovered the first attack on the JCE vulnerability.
fc-hosting.deSpecialised in cleaning, maintaining and securing Joomla and WordPress websites.
website-bereinigung.deSupport this project
You run a hosting or Joomla service and would like to support htprotect.org – and be listed here as a supporter? Every contribution helps to warn and protect those affected faster.
Prefer to give privately, without a listing? A little something for the tip jar is just as welcome.
Manufactures and installs construction-site signs, hoardings and façade solutions – including design and 3D visualisation.
bauschildundservice.deProfessional IT support from Czechia – Windows management, domain administration and web hosting.
defendersoft.czTravel portal from Germany – package holidays, hotels and flights online, with personal travel-agency advice.
onlineweg.deCreative agency from Brandenburg – web design, print media, photography and 360° panoramas from a single source.
criadero.deIT service provider from Wächtersbach – Joomla websites, PC service, hardware and software.
jahnedv.deInformation-security consulting from Berlin – security analyses, risk management and ISO 27001 for SMEs.
isari-consult.de