CVE-2023-3666
WordPress vulnerability analysis and mitigation

Overview

CVE-2023-3666 is a Stored Cross-Site Scripting (XSS) vulnerability in the Sticky Side Buttons WordPress plugin affecting all versions before 2.0.0. The flaw allows high-privilege users (such as administrators) to inject and store malicious scripts via unsanitized plugin settings, even in environments where the unfiltered_html capability is disabled — a scenario common in WordPress multisite setups. It was publicly disclosed on August 13, 2025, and assigned a CVSS v3.1 base score of 3.3–3.5 (Low) (WPScan, Feedly).

Technical details

The root cause is improper neutralization of user-supplied input during web page generation (CWE-79). Specifically, the plugin fails to sanitize and escape settings fields — such as the "Button Text" area — before storing and rendering them, allowing arbitrary HTML/JavaScript to be injected. An authenticated administrator can navigate to the Sticky Side Buttons settings panel, insert a malicious payload (e.g., <script>alert(1)</script>) into the Button Text field, save the settings, and have the script execute for any user who loads the affected page. The vulnerability is notable because it bypasses WordPress's unfiltered_html capability restriction, making it relevant in multisite environments where admin-level users are typically constrained (WPScan).

Impact

Successful exploitation allows a malicious or compromised administrator to persistently inject JavaScript that executes in the browsers of other users visiting the affected WordPress site. This can lead to session hijacking, credential theft, defacement, or redirection of users to malicious sites. While the CVSS score reflects limited confidentiality and integrity impact with no availability impact, the stored nature of the XSS means the payload persists and affects all site visitors until removed (WPScan, Feedly).

Exploitability

A proof-of-concept (PoC) is publicly documented by WPScan, demonstrating exploitation via the plugin's admin panel. The EPSS score is approximately 0.018% (0.000180), indicating a low probability of widespread automated exploitation. There is no evidence of active in-the-wild exploitation or inclusion in CISA's Known Exploited Vulnerabilities (KEV) catalog. The vulnerability requires high privileges (administrator access) and high attack complexity, limiting its practical exploitability (WPScan, Feedly).

Exploitation steps

  1. Gain Administrator Access: Obtain valid administrator credentials for the target WordPress site (e.g., via credential stuffing, phishing, or a compromised account).
  2. Navigate to Plugin Settings: Log into the WordPress admin panel and go to the Sticky Side Buttons plugin settings page.
  3. Inject Malicious Payload: Click "Add Buttons" and enter a JavaScript payload (e.g., <script>alert(document.cookie)</script> or a more sophisticated payload for session theft) into the "Button Text" field.
  4. Save Settings: Save the configuration, which stores the unsanitized payload in the WordPress database.
  5. Trigger Execution: When any user (including other admins or site visitors) loads a page where the Sticky Side Buttons widget is rendered, the stored script executes in their browser, enabling session hijacking or further attacks (WPScan).

Indicators of compromise

  • Logs: WordPress admin audit logs showing unexpected changes to Sticky Side Buttons plugin settings, particularly modifications to button text fields containing <script>, javascript:, or HTML event handlers.
  • Database: Entries in the WordPress wp_options table associated with the sticky-side-buttons plugin containing unsanitized HTML or JavaScript payloads.
  • Network: Browser-side network requests to unexpected external domains triggered when loading pages with the Sticky Side Buttons widget rendered.
  • File System: No file-system artifacts expected, as the payload is stored in the database rather than written to disk.

Mitigation and workarounds

Update the Sticky Side Buttons WordPress plugin to version 2.0.0 or later, which includes proper input sanitization and output escaping for plugin settings. As a temporary workaround, deactivate or remove the plugin until the update can be applied. Site administrators should also audit plugin settings for any existing malicious payloads stored in the Button Text fields and review admin account access to ensure no unauthorized users have administrator privileges (WPScan).

Community reactions

The vulnerability was discovered and reported by security researcher Sayandeep Dutta, who submitted it to WPScan. No significant broader media coverage or notable community commentary beyond the WPScan advisory has been identified for this low-severity finding (WPScan).

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-15239NONEN/A
  • simple-cloudflare-turnstile
NoYesAug 07, 2026
CVE-2026-15211NONEN/A
  • subscriptions-for-woocommerce
NoYesAug 07, 2026
CVE-2026-15148NONEN/A
  • wp-events-manager
NoYesAug 07, 2026
CVE-2026-16265NONEN/A
  • wp-google-map-plugin
NoYesAug 07, 2026
CVE-2026-16263NONEN/A
  • wp-google-map-plugin
NoYesAug 07, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management