Stručne: Bezpečnosť MediaWiki po PHP2Shell začína pri PHP servera, pretože zraniteľnosť je tam a nie vo wiki. Interné wiki sa často roky nechávajú bez zásahu a bežia na starých verziách PHP. Skontrolujte stav na Spezial:Version (v anglickom rozhraní Special:Version), záplatujte a reštartujte a potom skontrolujte LocalSettings.php, images a správcov rozhrania.
Prečo sú interné wiki lákavým cieľom
MediaWiki slúži v mnohých firmách, úradoch a výskumných zariadeniach ako interná príručka. Nachádzajú sa tam postupy, kontaktné osoby, sieťové plány, návody k serverom a niekedy aj prístupové údaje, ktoré tam nepatria. Pre útočníka je takéto wiki mapou firmy.
Zraniteľnosti PHP CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia. Wiki, ktoré bolo myslené „iba interne“, ale je dostupné cez internet, je tým priamo napadnuteľné. A keďže wiki zriedka stoja v centre záujmu IT, často bežia na starých serveroch, často ešte s PHP ako modulom Apache, teda v režime prevádzky s najvyšším rizikom podľa tímu PHP.
Bezpečnosť MediaWiki: skontrolovať verziu PHP a stav záplat
Stránka Special:Version (v nemeckom rozhraní Spezial:Version) zobrazuje verziu MediaWiki, PHP a databázy, ako aj všetky nainštalované rozšírenia a skiny. Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Mnohé servery wiki bežia na linuxových distribúciách s backportmi; zobrazené číslo potom zostane rovnaké, hoci je záplatované.
Ak wiki beží na PHP 8.1 alebo staršom, projekt PHP už nevydáva oficiálne aktualizácie, iba minimálne backporty zdrojového kódu pre 7.4, 8.0 a 8.1. Čo potom platí, zhŕňa stránka PHP 8.1 a staršie. Ktoré verzie PHP vaša verzia MediaWiki podporuje, skontrolujte podľa systémových požiadaviek na mediawiki.org. Prechod PHP môže vyžadovať upgrade MediaWiki.
Údržbové skripty a job runnery bežia cez PHP z príkazového riadku. Aj táto verzia musí byť záplatovaná. Ak front úloh beží ako trvalá služba, musí sa po aktualizácii reštartovať rovnako ako webový server alebo PHP-FPM. Pri mod_php to znamená reštart samotného Apache, pretože PHP je tam v procese webového servera.
Vyjasnite si aj to, komu wiki patrí. Interné wiki často zriadilo odborné oddelenie a bežia mimo bežnej správy serverov. Bez jasnej zodpovednosti tam aktualizácia PHP zostáva ležať najdlhšie.
Adresáre a súbory v MediaWiki
| Miesto | Obsah | Bod kontroly |
|---|---|---|
LocalSettings.php |
Prístup k databáze, $wgSecretKey, $wgUpgradeKey, práva, nastavenia nahrávania |
Vložený kód, kľúče pri podozrení obnoviť |
images/ |
Nahrané súbory a náhľady | Žiadne súbory PHP, žiadne spúšťanie PHP |
extensions/, skins/ |
Rozšírenia a dizajny | Neznáme alebo zmenené súbory |
cache/ |
Medzipamäť | Po vyčistení vyprázdniť |
maintenance/ |
Údržbové skripty pre príkazový riadok | Nepoužívať cez web |
Adresár na nahrávanie by nemal na úrovni webového servera spúšťať skripty. Pod Apache to funguje nezávisle od režimu prevádzky PHP takto:
<Directory "/var/www/wiki/images">
<FilesMatch "\.(php|phtml|phar)$">
Require all denied
</FilesMatch>
</Directory>
Neškodná prvá kontrola:
find images -type f -name "*.php*"
ls -l LocalSettings.php
Skontrolujte stránky MediaWiki:Common.js a MediaWiki:Common.css v histórii verzií. Zmeny tam pôsobia na každého návštevníka wiki a sú typickým miestom pre zavlečený kód.
Práva, skupiny a rozšírenia
V MediaWiki o bezpečnosti rozhodujú skupiny používateľov. Pod Spezial:Benutzer a Spezial:Benutzerrechte (v anglickom rozhraní Special:ListUsers a Special:UserRights) skontrolujte, kto patrí do skupín administrátori, byrokrati a správcovia rozhrania. Správcovia rozhrania môžu meniť JavaScript celého wiki; táto skupina by mala byť veľmi malá.
Pre interné wiki by malo byť čítanie bez prihlásenia vypnuté a registrácia nových účtov zablokovaná. Nahrávanie povoľte len pre tie typy súborov, ktoré sa skutočne potrebujú. Rozšírenia prinášajú vlastný kód PHP; nespravované rozšírenia navyše brzdia každý upgrade. K právam súborov na serveri poskytuje orientáciu príručka Práva súborov na webovom serveri.
Čo aktualizácia MediaWiki dokáže a čo nie
Aktualizácia MediaWiki nahradí jadro a uzatvorí v ňom známe chyby. PHP nezáplatuje, nereštartuje procesy PHP, nič nemení na LocalSettings.php a neodstráni ani súbory v images/, ani zmeny v MediaWiki:Common.js, ani ďalších členov skupín. Nedokazuje ani to, že pred záplatou nikto nečítal.
Rýchly prehľad dávajú aj záznamy pod Spezial:Logbuch (v anglickom rozhraní Special:Log). Nové používateľské účty, zmeny práv skupín a úpravy stránok rozhrania od 17. 10. 2026 sú tam zaznamenané s časom.
Ako konkrétne pomáha PHP SOS?
- Kontrolujeme verziu PHP, režim prevádzky a stav backportov vášho servera wiki a necháme si potvrdiť reštart.
- Zálohujeme logy od 20. 10. 2026, databázu a súbory.
- Kontrolujeme
LocalSettings.php, nahrávky, rozšírenia, práva skupín a históriu verzií stránok rozhrania. - V rámci okamžitej pomoci pri PHP2Shell s vami posúdime, či má wiki zostať verejne dostupné.
Časté otázky
Týka sa PHP2Shell MediaWiki?
Samotné MediaWiki nemá novú zraniteľnosť, ale beží na PHP. Ak PHP servera nie je záplatované, môže útočník podľa tímu PHP spustiť kód bez prihlásenia. Aktualizácia MediaWiki zraniteľnosť neuzatvorí.
Kde vidím verziu PHP svojho wiki?
Na stránke Special:Version (v nemeckom rozhraní Spezial:Version) vypisuje MediaWiki nainštalovaný softvér, vrátane verzie PHP. Či je nasadený backport, z toho nepoznáte; potvrdí to prevádzkovateľ servera.
Prečo je MediaWiki:Common.js riziko?
Obsah tejto stránky sa doručuje ako JavaScript všetkým návštevníkom wiki. Kto ju môže meniť, môže spúšťať kód v prehliadači každého používateľa. Skupina správcov rozhrania (Interface-Administratoren) by preto mala byť veľmi malá.
Stačí wiki sprístupniť iba interne?
Wiki iba vo firemnej sieti alebo cez VPN výrazne znižuje riziko, pretože útočníci z internetu sa k nemu nedostanú priamo. Záplatovať však musíte aj tak, pretože útok môže prísť aj z internej siete.