# Zranitelnost Joomla a PHP2Shell: jak zabezpečit weby na Joomle

> Zabezpečte Joomla po PHP2Shell: ověřte verzi PHP v systémových informacích, chraňte configuration.php a zkontrolujte Super Usery i rozšíření.

Zdroj: https://phpsos.de/cs/plattformen/joomla/  
Stav: 25.10.2026  
Poskytovatel: PHP SOS, Nouzová pomoc pro PHP a bezpečnost serverů. Okamžitá pomoc přes WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20den%2C%20PHP%20SOS%2C%20pot%C5%99ebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20PHP%20serverem.%20Firma%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručně:** Zranitelnost Joomly, o které se nyní mluví, se jmenuje PHP2Shell a je v PHP serveru, ne v Joomle. Aktualizace Joomly ji neuzavře. Po záplatě PHP a restartu byste měli zkontrolovat `configuration.php`, přepisy šablon, rozšíření a seznam Super Userů.

## Co PHP2Shell znamená pro Joomlu

Joomla je CMS v PHP a zdědí každou slabinu PHP pod sebou. Zranitelnosti CVE-2026-109618 a CVE-2026-109619 umožňují podle týmu PHP spuštění škodlivého kódu bez přihlášení. Týkají se běžných provozních režimů PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP a LiteSpeed.

Zejména menší weby na Joomle u spolků, řemeslných firem nebo svazů často běží na sdíleném hostingu a málokdy se udržují. Tam je aktualizace PHP na poskytovateli hostingu. Vaším úkolem je zjistit stav a web zkontrolovat, zda nenese stopy. Které verze jsou postiženy, ukazuje článek [Které verze PHP jsou postiženy?](https://phpsos.de/cs/php2shell/betroffene-php-versionen/).

## Zranitelnost Joomly: kontrola verze PHP

V administraci zobrazuje **Systém > Systémové informace** verzi PHP a nejdůležitější nastavení PHP. To je verze, se kterou Joomla na webu skutečně běží. Opravené verze upstreamu jsou 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pokud Joomla zobrazí starší číslo, může být přesto nasazen backport; to musí potvrdit váš poskytovatel hostingu.

Na sdíleném hostingu lze verzi PHP často přepnout v zákaznickém menu poskytovatele pro každou doménu. Tím se ale přepíná jen mezi verzemi, které poskytovatel nabízí; zda jsou záplatované, rozhoduje poskytovatel. Přechod na novější hlavní verzi může být přesto užitečný, pokud ji vaše verze Joomly a všechna rozšíření podporují. Vyzkoušejte to předem, protože starší rozšíření se na novějších verzích PHP často zastaví s chybovými hlášeními.

Joomla sama uvádí minimální požadavky na PHP pro každou hlavní verzi. Které verze PHP vaše verze Joomly podporuje, ověříte podle systémových požadavků na joomla.org. U velmi starých stavů Joomly může změna PHP nejprve vyžadovat upgrade Joomly.

## Typické úkryty škodlivého kódu v Joomle

| Místo | Obsah | Na co dát pozor |
|---|---|---|
| `configuration.php` | Přístup k databázi, `$secret`, cesty pro logy a temp | Datum změny, vložený kód |
| `images/`, `media/` | Obrázky a média | Soubory PHP jsou podezřelé |
| `tmp/` | Dočasné soubory, i z instalací | Zbytky cizích balíčků |
| `templates/<name>/html/` | Přepisy šablon s kódem PHP | Neznámé nebo změněné přepisy |
| `plugins/system/` | Systémové pluginy, které se načítají při každém volání | Neznámé pluginy |
| `administrator/logs/` | Protokoly | Zálohovat před změnami |
| `.htaccess` | Přesměrování, pravidla přepisování | Přesměrování jen pro vyhledávače |

Systémové pluginy jsou obzvlášť oblíbené, protože se spouštějí při každém zobrazení stránky. Neznámý plugin v této složce byste měli vždy umět vysvětlit.

Neškodné kontroly na příkazové řádce (Joomla 4 a novější má vlastní konzoli):

```bash
# Soubory PHP ve složkách médií a temp
find images media tmp -type f -name "*.php"
# Vypsat uživatele a rozšíření
php cli/joomla.php user:list
php cli/joomla.php extension:list
```

> **Důležité:**
> Pokud váš web na Joomle přesměrovává návštěvníky z Googlu na cizí stránky nebo Google zobrazuje varování, je server velmi pravděpodobně už kompromitován. Pak nestačí aktualizace, je potřeba čištění a poté ověření v Search Console.

## Přístup správce a rozšíření

Administrace leží na adrese `/administrator`. Zkontrolujte skupinu uživatelů „Super Users“, zda neobsahuje neznámé účty a účty bývalých dodavatelů. Aktivujte dvoufázové přihlášení, které Joomla nabízí, a používejte osobní místo sdílených účtů.

Rozšíření z Joomla Extensions Directory a od třetích stran je u mnoha webů mnoho: formuláře, galerie, nástroje pro tvorbu stránek, newslettery. Každé přináší vlastní kód PHP a často vlastní funkce nahrávání. Rozšíření, jejichž výrobce už aktualizace nedodává, jsou trvalým rizikem a ztěžují každý upgrade PHP. Nepoužívané odinstalujte úplně.

## Co aktualizace Joomly zvládne a co ne

Aktualizace Joomly nahradí soubory jádra a uzavře známé zranitelnosti v Joomle. Nezáplatuje PHP, nedotkne se přepisů šablon ani cizích rozšíření a neodstraní soubory, které nepatří k jádru. Také záznamy v databázi, například noví Super Useři, zůstanou zachovány.

Pokud byl váš web už změněn, pomůže postup v části [Web napaden? Vzdálená pohotovostní pomoc](https://phpsos.de/cs/leistungen/website-gehackt-notfallhilfe/). Při hledání zadních vrátek se vyplatí průvodce [Jak rozpoznat a odstranit webshelly](https://phpsos.de/cs/ratgeber/webshell-erkennen/).

Pokud váš web na Joomle zřídila agentura nebo freelancer, zeptejte se tam, která rozšíření a šablony byly individuálně upraveny. Upravené soubory nelze jednoduše porovnat s originálním balíčkem a vyžadují individuální kontrolu.

## Jak konkrétně pomáhá PHP SOS?

- Stav PHP zjistíme u vašeho poskytovatele hostingu nebo jej ověříme na vašem serveru, včetně restartu.
- Logy, soubory a databázi zálohujeme před každou změnou.
- Porovnáme jádro s originálním balíčkem a zkontrolujeme přepisy, systémové pluginy, složky médií a Super Usery.
- Při nálezech web vyčistíme, obnovíme přístupy a provedeme vás odstraněním varování Googlu.


## Časté dotazy

**Týká se PHP2Shell Joomly?**  
Joomla sama žádnou novou zranitelnost nemá, ale běží na PHP. Pokud PHP serveru není záplatované, může útočník podle týmu PHP spustit kód bez přihlášení. Aktualizace Joomly na tom nic nemění.

**Kde v Joomle najdu verzi PHP?**  
V administraci v nabídce Systém > Systémové informace. Uvidíte tam i nastavení PHP. Zda je nasazen backport, z čísla nepoznáte; to musí potvrdit váš poskytovatel hostingu.

**Proč jsou přepisy šablon (template overrides) riziko?**  
Přepisy leží ve složce šablony a obsahují kód PHP, který nahrazuje výstup komponent a modulů. Vložený kód si tam stěží někdo všimne, protože se přepisy při aktualizacích Joomly nenahrazují.

## Zdroje

- [php.net: bezpečnostní oznámení](https://www.php.net/)
- [Joomla](https://www.joomla.org/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [Nápověda Google Search Console](https://support.google.com/webmasters/)
