V pluginu Divi Plus, který rozšiřuje možnosti vizuálního editoru Divi Builder, byla identifikována vysoce závažná zranitelnost umožňující nepřihlášenému útočníkovi číst libovolné soubory dostupné procesu PHP na serveru.
Plugin je podle Wordfence používán přibližně na 80 000 WordPress instalacích.
Příčinou je nedostatečná kontrola uživatelských vstupů a chybějící omezení přístupu k souborovému systému.
Mechanismus zneužití
Zranitelnost se nachází v REST API endpointu:
/wp-json/elicus/v1/dipl-modules/svg-animator
Tento endpoint slouží ke zpracování SVG animací.
Jeho funkce SVGAnimatorController::index_permission() však bezpodmínečně vrací hodnotu true.
Endpoint je proto dostupný i nepřihlášeným návštěvníkům.
Další problém představuje nedostatečné ověřování parametru svg_image.
Plugin používá funkce sanitize_text_field() a esc_html(), které však nejsou určeny k zabezpečení souborových cest.
Útočník může prostřednictvím tohoto parametru předat speciálně připravenou cestu k souboru.
Plugin následně použije funkci file_get_contents() a získaný obsah vrátí prostřednictvím JSON odpovědi.
Zranitelný mechanismus nedostatečně omezuje použití souborových cest, stream wrapperu file:// a dalších vstupních hodnot.
Možné následky
Úspěšné zneužití může umožnit:
- Neoprávněné čtení souborů na serveru.
- Získání obsahu konfiguračních souborů WordPressu.
- Únik databázových přístupových údajů.
- Zpřístupnění dalších citlivých informací uložených na serveru.
- Následnou kompromitaci webu při zneužití získaných přístupových údajů.
Zvlášť závažným scénářem je získání obsahu souboru wp-config.php, který standardně obsahuje přístupové údaje k databázi WordPressu.
Zranitelnost nevyžaduje přihlášení ani interakci administrátora.
Wordfence upozorňuje také na možnost následného vzdáleného spuštění kódu za určitých podmínek. Samotná zranitelnost však přímo nezaručuje možnost RCE.
Hodnocení dosahuje CVSS 7.5/10.
Aktivní zneužívání v reálných útocích nebylo k okamžiku kontroly potvrzeno.
Doporučené kroky
- Bezodkladně aktualizovat Divi Plus minimálně na verzi 2.4.1, ideálně na nejnovější dostupnou verzi.
- U webů, které provozovaly postižené verze, doporučujeme prověřit přístupové logy a vyhledat podezřelé požadavky na endpoint
/wp-json/elicus/v1/dipl-modules/svg-animator. - Zkontrolovat požadavky obsahující parametr
svg_image, zejména pokusy o použití neobvyklých souborových cest. - Prověřit případné pokusy o načítání konfiguračních souborů WordPressu.
- Pokud existuje podezření na únik souboru
wp-config.php, doporučujeme změnit databázové přístupové údaje a prověřit další citlivé informace uložené v tomto souboru. - Pokud aktualizace není okamžitě možná, doporučujeme plugin dočasně deaktivovat.
- Je vhodné ověřit, zda proces PHP disponuje pouze nezbytnými oprávněními k souborovému systému.
Důležité: Samotná aktualizace pluginu nezabrání zneužití přístupových údajů, které mohly být útočníkem získány před instalací bezpečnostní opravy.
