Tým WordFence Security objevil zranitelnost v šablonách Divi a Extra, která ohrožuje pře 700 tisíc webů.
Není to tak dlouho, co se objevil problém s pluginem All in SEO Pack a již je na světě další podobný problém.
Tentokrát se jedná o chybějící kontrolu typu nahrávaného souboru v Divi Builderu.
Stejně jako u předchozí zranitelnosti, může být i tato zneužita pouze pokud má uživatel práva edit_post. Tedy každý uživatel s takovým právem vám může hacknout web.
Problém je v tom, že při importu json souboru do builderu, sice dochází ke kontrole souboru na straně klienta, ale na straně serveru již nedochází k ověření toho, že jde o json.
Jak je vidět, při použití funkce wp_handle_upload je vypnuté ověření typu souboru:
$handle_file
= "wp_handle_{$file_context}";
$upload
= $handle_file( $_FILES['file'], array(
'test_size'
=> false,
'test_type'
=> false,
'test_form'
=> false,
) );
Divi builder si předpokládaný json uloží jako dočasný soubor a při jeho zpracování dojde k chybě, protože soubor nemá odpovídající formát.
Protože k odstranění dočasného souboru dochází až po zpracování jsonu, tak v případě chyby, zůstane soubor uložen v adresáři.
Útočník tak může jednoduše nahrát spustitelný soubor do instalace WordPressu.
Chyba byla nahlášena 23.7. 2020 a včera 3.8.2020 byl vydán patch s opravou.
Pokud spadáte do skupiny ohrožených webů, doporučuji neprodleně aktualizovat.