Automated Threat Modeling

Quick Look: CVE-2026-1829 Remote Code Execution in Content Visibility for Divi Builder WordPress Plugin

CVE-2026-1829 is an authenticated remote code execution vulnerability in the Content Visibility for Divi Builder WordPress plugin. Contributor-level users can run arbitrary PHP code through a shortcode parameter.

CVE Analysis

6 min read

ZeroPath CVE Analysis
ZeroPath CVE Analysis

2026-06-02

Quick Look: CVE-2026-1829 Remote Code Execution in Content Visibility for Divi Builder WordPress Plugin
Experimental AI-Generated Content

This CVE analysis is an experimental publication that is completely AI-generated. The content may contain errors or inaccuracies and is subject to change as more information becomes available. We are continuously refining our process.

If you have feedback, questions, or notice any errors, please reach out to us.

[email protected]

Introduction

A WordPress plugin built to show or hide Divi Builder content based on PHP expressions did what you might fear and evaluated user-supplied PHP code without adequate restrictions. The result is CVE-2026-1829, an authenticated Remote Code Execution vulnerability that lets any user with Contributor-level access run arbitrary code on the server.

Content Visibility for Divi Builder extends the popular Divi theme and page builder (by Elegant Themes). Site administrators use it to display or hide sections and modules depending on whether a PHP boolean expression evaluates to true. The plugin has 2,000+ active installations and has been available since February 2016. It is a niche add-on, but it sits inside the Divi ecosystem, and Divi itself powers a significant share of the WordPress sites that use premium page builders.

Technical Information

Root Cause: PHP Expression Evaluation in Shortcode Parameters

The plugin decides whether content is visible by evaluating PHP expressions that users supply, and that architectural choice is the root cause of CVE-2026-1829. The plugin allows "Sections and Modules to be displayed/hidden based on the outcome of a PHP boolean expression," and the expression is passed through the cvdb_content_visibility_check parameter of the et_pb_text shortcode.

The vulnerable code is in includes/plugin.class.php at line 229 of the version 4.01 codebase. When the shortcode renders, the plugin processes the value of cvdb_content_visibility_check without adequate sanitization or capability checks, so an attacker can inject and execute arbitrary PHP code.

The vulnerability is classified as CWE-94 (Improper Control of Generation of Code), the standard category for code injection flaws in which an application builds code from externally influenced input without properly neutralizing it.

CVSS Breakdown

The CVSS v3.1 base score is 8.8, with the vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

CVSS MetricValueInterpretation
Attack Vector (AV)NetworkExploitable remotely over the internet
Attack Complexity (AC)LowNo special conditions required
Privileges Required (PR)LowContributor-level access is enough
User Interaction (UI)NoneNo victim action needed
Scope (S)UnchangedImpact limited to the vulnerable component
Confidentiality (C)HighFull data compromise possible
Integrity (I)HighComplete data modification possible
Availability (A)HighDenial of service possible

Attack Flow

The exploitation chain for CVE-2026-1829 is short:

  1. Authentication: The attacker gets Contributor-level (or higher) access to the target WordPress site. Contributor is the lowest authoring role in WordPress and is commonly given to guest authors, freelance writers, and content team members.

  2. Shortcode Injection: The attacker writes a post containing the et_pb_text shortcode with a malicious value in the cvdb_content_visibility_check parameter. Contributors can create and submit draft posts, which gives them access to the shortcode system.

  3. Code Execution: When the shortcode renders (during preview or when the post is published), the server evaluates the malicious parameter value as PHP code. The attacker now has arbitrary code execution in the context of the web server process.

  4. Post-Exploitation: With code running on the server, the attacker can read sensitive files (including wp-config.php with its database credentials), escalate privileges to Administrator, install persistent backdoors, or pivot to other systems the web server can reach.

The privileges required are low and so is the attack complexity, so exploitation is trivial once an attacker understands the vulnerable parameter. Multi-author WordPress sites, sites with open registration, and sites whose Contributor accounts have been compromised through credential stuffing are all viable targets.

Affected Systems and Versions

The vulnerability affects the Content Visibility for Divi Builder WordPress plugin in all versions up to and including 4.02.

The plugin requires:

  • WordPress 5.5 or higher
  • PHP 7.0 or higher
  • Divi theme or Divi Builder plugin version 3 or higher (from Elegant Themes)

The fix arrived in version 5.00, committed in changeset 3543621 on May 22, 2026. As of disclosure, the latest version is 5.02.

Treat any site running a version from the plugin's initial release through 4.02 as vulnerable.

Vendor Security History

Evaluating PHP boolean expressions to decide content visibility was a risky core design from the start, and this RCE is where that risk ended up. The fix in version 5.00 was a significant architectural refactor rather than a simple patch, and the version number reflects it: the plugin jumped from 4.02 directly to 5.00 and skipped the rest of the 4.x line. The changeset message, "Add security scanner and REST API," indicates that the developer restructured how expressions are validated. The new validation is described as preventing "dangerous PHP code from being executed." The developer may also have moved visibility checking to a server-side REST API endpoint instead of evaluating raw PHP in shortcode handlers.

The developer responded promptly during coordinated disclosure and committed the fix approximately 11 days before public disclosure on June 2, 2026.

References

Detect & fix
what others miss

Works with
  • GitHub
  • GitLab
  • Bitbucket
  • Azure DevOps Services
  • Gerrit
  • CVS
  • Jira
  • Linear
  • Slack
  • Security Compass
Explore integrations
Security magnifying glass visualization