# Zranitelnost Shopware 6 a PHP2Shell: jak zabezpečit e-shop

> Shopware 6 a PHP2Shell: proč aktualizace e-shopu nestačí, kde se skrývá škodlivý kód (.env, custom/plugins, public) a jak zkontrolovat integrace.

Zdroj: https://phpsos.de/cs/plattformen/shopware-6/  
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 Shopware 6, kterou nyní mnoho obchodníků hledá, je ve skutečnosti zranitelnost v PHP. Aktualizace Shopware ji neuzavřou. Potřebujete záplatované PHP s restartem všech procesů a poté byste měli zkontrolovat `.env`, `custom/plugins`, adresář `public` a integrace API.

## Co PHP2Shell znamená pro Shopware 6

Shopware 6 je postaven na frameworku PHP Symfony a obvykle běží s PHP-FPM za Nginx nebo Apache. Zranitelnosti CVE-2026-109618 a CVE-2026-109619 se týkají právě tohoto provozního režimu. Podle týmu PHP umožňují spuštění škodlivého kódu na dálku, bez přihlášení do e-shopu.

Útočník s možností spouštět kód na serveru dosáhne na vše, k čemu má přístup sám e-shop: data zákazníků, objednávky, fakturační dokumenty, přístupové údaje ke skladovým systémům a poskytovatelům plateb. Technické pozadí vysvětlujeme v článku [Co je PHP2Shell?](https://phpsos.de/cs/php2shell/was-ist-php2shell/).

## Kontrola zranitelnosti Shopware 6: které PHP skutečně běží?

Shopware 6 se hodně spravuje z příkazové řádky, například pomocí `bin/console`. Snadno se tak stane chyba: `php -v` ukazuje verzi PHP příkazové řádky, nikoli nutně verzi PHP-FPM, které zpracovává požadavky e-shopu. Na mnoha serverech je paralelně nainstalováno více verzí PHP.

Spolehlivé je údaj v hostingovém panelu pro konkrétní doménu a potvrzení poskytovatele hostingu o stavu balíčku. Opravené verze upstreamu jsou 8.5.12, 8.4.27, 8.3.36 a 8.2.35; backporty mohou nést starší čísla. Které verze PHP vaše verze Shopware podporuje, ověříte podle systémových požadavků v dokumentaci na shopware.com. Jak se podívat sami, popisuje článek [Jak správně ověřit verzi PHP a stav záplaty](https://phpsos.de/cs/php2shell/php-version-pruefen/).

Jeden bod se u Shopware 6 často přehlíží: mnoho e-shopů zpracovává frontu zpráv a plánované úlohy v trvale běžících procesech na pozadí, například `bin/console messenger:consume` pod správcem procesů. Tyto procesy načtou PHP jednou při startu. Po aktualizaci proto musí být restartováno nejen PHP-FPM, ale také tito pracovníci (workers). Jinak část e-shopu dál pracuje se starým, zranitelným PHP v paměti.

## Adresáře a soubory, které byste měli znát

| Místo | Obsah | Proč je důležité |
|---|---|---|
| `.env`, `.env.local` | Přístup k databázi, `APP_SECRET`, další klíče | Při podezření obnovit |
| `public/` | Kořen dokumentů s `index.php`, média, soubory motivu | Další soubory PHP jsou podezřelé |
| `public/theme/` | Zkompilované soubory JavaScript a CSS storefrontu | Místo pro vložené skimmery |
| `custom/plugins/`, `custom/apps/` | Rozšíření | Změněný kód pluginu |
| `files/` | Soukromé soubory, například faktury a dodací listy | Osobní údaje |
| `var/log/` | Protokoly e-shopu | Zajistit stopy |

Neškodné první kontroly:

```bash
# Zobrazit nainstalované pluginy s verzí a stavem
bin/console plugin:list
# Vypsat soubory PHP ve veřejném adresáři
find public -type f -name "*.php"
# Zobrazit známé zranitelnosti v závislostech Composeru
composer audit
```

V adresáři `public/` by mělo ležet jen málo známých souborů PHP. Vše neznámé patří zálohovat a prověřit, ne hned mazat.

> **Tip:**
> V administraci zkontrolujte v nabídce Nastavení > Systém oblasti „Uživatelé a oprávnění“ a „Integrace“. Neznámí uživatelé nebo integrace API jsou zadní vrátka, která každá kontrola souborů přehlédne.

## Přístup správce, pluginy a aplikace jako riziko

Administrace leží standardně na adrese `/admin`. Chraňte ji osobními účty, silným přihlášením a pokud možno omezením přístupu na známé sítě. Integrace pro skladové systémy, tržiště nebo dopravce by měly mít jen ta práva, která skutečně potřebují.

Pluginy ze storu a vlastní vývoj přinášejí vlastní kód PHP, aplikace navíc webhooky na externí servery. Čím více rozšíření, tím větší plocha pro útok a tím náročnější každý upgrade PHP. Pluginy, které se už nepoužívají, odstraňte úplně.

## Co aktualizace Shopware zvládne a co ne

Aktualizace Shopware nebo pluginu uzavře známé chyby v tomto kódu. Nedokáže:

- záplatovat PHP na serveru,
- restartovat staré procesy PHP-FPM,
- spolehlivě odstranit cizí soubory v `public/` ani zmanipulované soubory motivu,
- smazat cizí uživatele nebo integrace,
- prokázat, že se před záplatou nic nestalo.

Po aktualizaci PHP na novou hlavní verzi byste měli znovu vytvořit cache a motiv a e-shop otestovat v testovacím prostředí. Přechod PHP s dokladem na přání převezme naše [služba záplatování PHP](https://phpsos.de/cs/leistungen/php-patch-service/).

Shopware 6 u větších obchodníků často běží na více aplikačních serverech. Pak musí být záplatován a restartován každý server, i ty, které zpracovávají jen úlohy na pozadí. Pokud e-shop provozuje poskytovatel jako spravovanou platformu, měl by vám potvrdit stav všech uzlů.

## Jak konkrétně pomáhá PHP SOS?

- Zjistíme, které PHP váš e-shop přes FPM skutečně používá, a s poskytovatelem hostingu nebo agenturou ujasníme záplatu a restart.
- Zálohujeme logy od 20. 10. 2026, databázi a soubory.
- Kontrolujeme `public/`, zkompilované soubory motivu, pluginy, uživatele a integrace, zda nevykazují nápadnosti.
- Při nálezu e-shop vyčistíme společně s vaší agenturou a klíče a přístupy obnovíme uspořádaně.


## Časté dotazy

**Týká se PHP2Shell samotného Shopware 6?**  
Zranitelnosti jsou v PHP, ne v kódu Shopware. Každý e-shop na Shopware 6 s nezáplatovaným PHP je proto potenciálně napadnutelný, bez ohledu na verzi Shopware. Aktualizace Shopware na tom nic nemění.

**Který soubor v Shopware 6 je po útoku obzvlášť kritický?**  
Soubor .env nebo .env.local s přístupem k databázi a APP_SECRET. Kdo jej mohl číst, zná vaše přístupové údaje. Při podezření by se tyto hodnoty měly obnovit, ve shodě s vaší agenturou.

**Co jsou integrace v Shopware 6 a proč je kontrolovat?**  
Integrace jsou přístupy API pro externí systémy, například skladové a účetní systémy nebo tržiště. Cizí integrace s právy administrátora umožňuje plný přístup k e-shopu přes API, aniž by na serveru ležel nějaký soubor.

## Zdroje

- [php.net: bezpečnostní oznámení](https://www.php.net/)
- [Shopware](https://www.shopware.com/)
- [Podporované verze PHP](https://www.php.net/supported-versions.php)
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
