Skip to main content
CVE Vulnerability Database

CVE-2026-2127: WordPress SiteOrigin Auth Bypass Flaw

CVE-2026-2127 is an authentication bypass vulnerability in SiteOrigin Widgets Bundle for WordPress that allows authenticated attackers to execute arbitrary shortcodes. This article covers technical details, affected versions, and mitigation.

Updated:

CVE-2026-2127 Overview

CVE-2026-2127 is a missing authorization vulnerability [CWE-862] in the SiteOrigin Widgets Bundle plugin for WordPress, affecting all versions through 1.70.4. The flaw resides in the siteorigin_widget_preview_widget_action() function, which is registered via the wp_ajax_so_widgets_preview AJAX action. The function validates a nonce but does not verify user capabilities. Authenticated attackers with Subscriber-level access or higher can invoke the SiteOrigin_Widget_Editor_Widget through the preview endpoint to execute arbitrary WordPress shortcodes.

Critical Impact

Authenticated low-privilege users can execute arbitrary shortcodes on affected WordPress sites, enabling information disclosure and limited integrity impact across the application.

Affected Products

  • SiteOrigin Widgets Bundle plugin for WordPress
  • All versions up to and including 1.70.4
  • WordPress sites where the Post Carousel widget is rendered on a public page

Discovery Timeline

  • 2026-02-18 - CVE-2026-2127 published to NVD
  • 2026-04-15 - Last updated in NVD database

Technical Details for CVE-2026-2127

Vulnerability Analysis

The vulnerability stems from incomplete access control on a WordPress AJAX endpoint exposed by the SiteOrigin Widgets Bundle plugin. The siteorigin_widget_preview_widget_action() handler is registered through wp_ajax_so_widgets_preview, which authenticates the request only by checking a widgets_action nonce. No current_user_can() capability check is performed before processing the widget preview request.

Because the preview path renders widget content server-side, attackers can target the SiteOrigin_Widget_Editor_Widget. That widget processes user-supplied content through WordPress shortcode rendering. As a result, any shortcode registered on the site can be triggered through the preview action, including shortcodes from other plugins that expose sensitive data or modify content.

Root Cause

The root cause is a missing authorization check [CWE-862] in the AJAX preview handler. Nonce verification confirms request origin but does not enforce role-based authorization. Subscriber accounts in WordPress are not intended to render arbitrary widget previews or execute shortcodes, yet the handler grants them this capability by omission.

Attack Vector

The attack requires an authenticated session at the Subscriber role or higher. The required widgets_action nonce is exposed on the public frontend whenever the Post Carousel widget is present on a page. The nonce is embedded in the data-ajax-url HTML attribute and can be harvested by any visitor with a valid session.

With the nonce in hand, an attacker issues a POST request to the WordPress admin-ajax.php endpoint, specifying the so_widgets_preview action and supplying parameters that target the editor widget. The preview handler renders the supplied content and processes embedded shortcodes, returning the output to the attacker. The vulnerability is described in detail in the Wordfence Vulnerability Analysis and traced in the upstream WordPress So Widgets Bundle Action source.

Detection Methods for CVE-2026-2127

Indicators of Compromise

  • POST requests to /wp-admin/admin-ajax.php containing action=so_widgets_preview originating from Subscriber-level accounts
  • Unexpected shortcode output appearing in AJAX response bodies returned to low-privilege users
  • Frontend page requests followed by rapid AJAX calls that reference the data-ajax-url nonce harvested from Post Carousel pages

Detection Strategies

  • Inspect web server access logs for admin-ajax.php requests with the so_widgets_preview action issued by non-administrator user IDs
  • Correlate authentication events for Subscriber accounts with subsequent AJAX widget preview invocations
  • Alert on responses from admin-ajax.php that contain rendered shortcode output not associated with editorial users

Monitoring Recommendations

  • Enable WordPress audit logging to capture AJAX action names, user roles, and request parameters
  • Monitor creation of new Subscriber accounts on sites running the SiteOrigin Widgets Bundle, especially those using the Post Carousel widget
  • Track outbound responses to detect leakage of sensitive shortcode output such as [user_meta], membership data, or premium content snippets

How to Mitigate CVE-2026-2127

Immediate Actions Required

  • Update the SiteOrigin Widgets Bundle plugin to a version newer than 1.70.4 that includes the capability check fix
  • Audit existing Subscriber-level accounts and remove accounts that were created during the exposure window and show no legitimate activity
  • Disable open user registration on sites that do not require it to reduce the attacker pool

Patch Information

The vendor addressed the missing authorization check in the upstream repository. Review the fix commit in the WordPress So Widgets Bundle Changeset and apply the corresponding plugin release through the WordPress plugin updater.

Workarounds

  • Remove the Post Carousel widget from public-facing pages to prevent exposure of the widgets_action nonce in the data-ajax-url attribute
  • Deactivate the SiteOrigin Widgets Bundle plugin until the patched version is deployed if the widgets are not business-critical
  • Apply a web application firewall rule that blocks admin-ajax.php requests with action=so_widgets_preview from users below the Editor role
bash
# Example WAF rule pattern blocking the vulnerable AJAX action for low-privilege sessions
SecRule REQUEST_URI "@contains /wp-admin/admin-ajax.php" \
    "chain,deny,status:403,id:1002127,msg:'Block SiteOrigin so_widgets_preview from low-privilege users'"
SecRule ARGS:action "@streq so_widgets_preview" \
    "chain"
SecRule REQUEST_COOKIES:wordpress_logged_in_* "@rx subscriber"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.