Skip to main content
Vulnerability Database/CVE-2025-26881

CVE-2025-26881: Sticky Content Plugin Stored XSS Vulnerability

CVE-2025-26881 is a stored cross-site scripting vulnerability in the bPlugins Sticky Content WordPress plugin that enables attackers to inject malicious scripts. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-26881 Overview

CVE-2025-26881 is a stored Cross-Site Scripting (XSS) vulnerability in the bPlugins Sticky Content WordPress plugin (sticky-menu-block). The flaw exists in all versions up to and including 1.0.1. The plugin fails to properly neutralize user-supplied input during web page generation, allowing authenticated contributors to inject persistent JavaScript payloads. When administrators or site visitors render the affected page, the malicious script executes in their browser context. The vulnerability is tracked under CWE-79.

Critical Impact

Authenticated attackers with low privileges can inject persistent JavaScript that executes in the context of any visitor, enabling session hijacking, credential theft, and administrative account takeover.

Affected Products

  • bPlugins Sticky Content (sticky-menu-block) plugin for WordPress
  • All versions from initial release through 1.0.1
  • WordPress sites where the plugin is installed and activated

Discovery Timeline

  • 2025-02-25 - CVE-2025-26881 published to the National Vulnerability Database
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-26881

Vulnerability Analysis

The vulnerability stems from improper neutralization of input during web page generation within the Sticky Content plugin. The plugin accepts input intended for display within sticky menu blocks but fails to sanitize or encode that input before rendering it into the DOM. As a result, attacker-controlled markup and script tags persist in the site's database and execute whenever a user loads the affected page.

Exploitation requires authenticated access with at least contributor-level privileges and involves a user interaction step, such as an administrator viewing a page containing the malicious block. The scope is changed, meaning code executes in a security context different from the injecting user, which amplifies impact against site administrators.

Root Cause

The underlying weakness is a failure to apply output encoding or input validation to fields rendered by the plugin. WordPress provides sanitization APIs such as wp_kses_post() and esc_html(), but the affected plugin code paths do not consistently invoke them before storing or emitting user input. This allows raw HTML and <script> payloads to survive into rendered pages.

Attack Vector

An authenticated attacker submits crafted content through the plugin's block editor interface. The payload is stored in the WordPress database as post or block meta. When a privileged user loads a page containing the injected block, the browser parses the unsanitized markup and executes the embedded JavaScript. This flow supports session token theft, forced administrative actions via CSRF-style requests, and drive-by download campaigns targeting site visitors.

No verified exploitation code has been published. For technical background, refer to the Patchstack WordPress Plugin Advisory.

Detection Methods for CVE-2025-26881

Indicators of Compromise

  • Unexpected <script>, <iframe>, or event handler attributes (for example onerror=, onload=) stored in WordPress wp_posts or wp_postmeta records associated with sticky menu blocks
  • Outbound requests from administrator browser sessions to unfamiliar domains shortly after loading pages that contain the plugin
  • New administrator accounts, altered user roles, or unexpected plugin installations following contributor activity

Detection Strategies

  • Query the WordPress database for block content containing HTML tags or JavaScript keywords within Sticky Content plugin fields
  • Review web server access logs for POST requests to /wp-admin/post.php or the block editor REST endpoints originating from low-privilege accounts
  • Compare installed plugin versions against the fixed release using WP-CLI (wp plugin list) across managed sites

Monitoring Recommendations

  • Enable a Web Application Firewall (WAF) with XSS signatures tuned for WordPress block editor payloads
  • Alert on anomalous administrator session behavior such as unexpected API calls to user or plugin management endpoints
  • Log and review contributor and author account activity, including post creation and revision history

How to Mitigate CVE-2025-26881

Immediate Actions Required

  • Deactivate the Sticky Content (sticky-menu-block) plugin until a patched release beyond version 1.0.1 is installed
  • Audit all pages and posts that reference the plugin's blocks for embedded scripts or suspicious HTML
  • Rotate credentials and invalidate active sessions for all administrator accounts if compromise is suspected

Patch Information

At the time of publication, the advisory lists all versions through 1.0.1 as vulnerable. Site owners should monitor the Patchstack advisory and the WordPress plugin repository for a fixed release, then update immediately once available.

Workarounds

  • Remove or disable the plugin on all WordPress installations pending an official patch
  • Restrict contributor, author, and editor accounts to trusted users only, and enforce multi-factor authentication
  • Deploy a WAF ruleset that blocks HTML and JavaScript payloads submitted to block editor endpoints from non-administrator accounts

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

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.