Avada (Fusion) Builder <= 3.15.2 - Unauthenticated Remote Code Execution via PHP Function Injection via 'render_logics' Shortcode Attribute via Widget AJAX Handler
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 5 proofs of concept on GitHub, 1 Nuclei template
- Exploitation: none
- Automatable: yes
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- themefusion Avada (Fusion) Builder
through 3.15.2
References 18
plugins.trac.wordpress.org
- browser/fusion-builder/trunk/inc/helpers/class-fusion-builder-conditional-render-helper.php#L1531
- browser/fusion-builder/tags/3.15.0/inc/helpers/class-fusion-builder-conditional-render-helper.php#L1531
- browser/fusion-builder/trunk/shortcodes/fusion-widget.php#L44
- browser/fusion-builder/tags/3.15.0/shortcodes/fusion-widget.php#L44
- browser/fusion-builder/trunk/shortcodes/fusion-widget.php#L389
- browser/fusion-builder/tags/3.15.0/shortcodes/fusion-widget.php#L389
- browser/fusion-builder/trunk/inc/class-fusion-builder.php#L7551
- browser/fusion-builder/tags/3.15.0/inc/class-fusion-builder.php#L7551
- browser/fusion-builder/trunk/inc/helpers/class-fusion-builder-conditional-render-helper.php#L1083
- browser/fusion-builder/tags/3.15.0/inc/helpers/class-fusion-builder-conditional-render-helper.php#L1083