In de Avada Builder (fusion-builder) plugin voor WordPress is een lek gevonden waarmee het mogelijk was om op afstand zonder authenticatie via PHP-functie-injectie code uit te voeren. Dit lek zit in alle versies tot en met 3.15.2. Themefusion heeft het lek inmiddels gedicht in patch 3.15.3. Inmiddels hebben we de websites van onze klanten met een WordPress SLA-contract gepatched en ook gecontroleerd of er misbruik is gemaakt.
We adviseren om zo snel mogelijk deze patch te installeren op alle Avada websites. Na de installatie moeten de plugins Avada Core en Avada Builder geupdate worden!
Achtergrond informatie:
Dit was mogelijk doordat `wp_conditional_tags` case in `Fusion_Builder_Conditional_Render_Helper::get_value()` aanvallers gecontroleerde waarden uit een base64-gedecodeerde JSON-blob rechtstreeks doorgeeft aan `call_user_func()` zonder enige validatie via een whitelist. Dit kan worden misbruikt door aanvallers zonder authenticatie via het AJAX-eindpunt `fusion_get_widget_markup`, dat is geregistreerd voor niet-geauthenticeerde gebruikers via `wp_ajax_nopriv_fusion_get_widget_markup`. Het eindpunt wordt alleen beschermd door een nonce (`fusion_load_nonce`), maar deze nonce wordt gegenereerd voor gebruikers-ID 0 en wordt op deterministische wijze weergegeven in de JavaScript-output van elke openbare pagina die een Post Cards-element (``) of een Inhoudsopgave-element (`[fusion_table_of_contents]`) bevat. Hierdoor kunnen niet-geauthenticeerde aanvallers willekeurige code uitvoeren op getroffen sites.