Description
The Avada Builder (fusion-builder) plugin for WordPress is vulnerable to Unauthenticated Remote Code Execution via PHP Function Injection in versions up to and including 3.15.2. This is due to the `wp_conditional_tags` case in `Fusion_Builder_Conditional_Render_Helper::get_value()` passing attacker-controlled values from a base64-decoded JSON blob directly to `call_user_func()` without any allowlist validation. This is exploitable by unauthenticated attackers through the `fusion_get_widget_markup` AJAX endpoint, which is registered for non-privileged (unauthenticated) users via `wp_ajax_nopriv_fusion_get_widget_markup`. The endpoint is protected only by a nonce (`fusion_load_nonce`), but this nonce is generated for user ID 0 and is deterministically exposed in the JavaScript output of any public-facing page containing a Post Cards (`[fusion_post_cards]`) or Table of Contents (`[fusion_table_of_contents]`) element. This makes it possible for unauthenticated attackers to execute arbitrary code on affected sites.
Problem types
Product status
Any version
Timeline
| 2026-04-15: | Vendor Notified |
| 2026-05-20: | Disclosed |
Credits
Tin Pham
Trong Pham
Hao Ngo
References
www.wordfence.com/...-d47c-4b36-8d69-8672e15ddf8c?source=cve
plugins.trac.wordpress.org/...-conditional-render-helper.php
plugins.trac.wordpress.org/...-conditional-render-helper.php
plugins.trac.wordpress.org/...k/shortcodes/fusion-widget.php
plugins.trac.wordpress.org/...0/shortcodes/fusion-widget.php
plugins.trac.wordpress.org/...k/shortcodes/fusion-widget.php
plugins.trac.wordpress.org/...0/shortcodes/fusion-widget.php
plugins.trac.wordpress.org/...k/inc/class-fusion-builder.php
plugins.trac.wordpress.org/...0/inc/class-fusion-builder.php
plugins.trac.wordpress.org/...-conditional-render-helper.php
plugins.trac.wordpress.org/...-conditional-render-helper.php
avada.com/documentation/avada-changelog/