Skip to main content

Otter Blocks CVE-2026-109933

| EUVDEUVD-2026-108586 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-23 contact@wpscan.com GHSA-655q-x6wx-x8mp
6.8
CVSS 3.1 · Vendor: wpscan
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain contributor-level account
  2. Delivery
    Inject payload into block styling value
  3. Exploit
    Payload stored in inline stylesheet
  4. Execution
    Admin or visitor views the post
  5. Persist
    Script executes in victim browser
  6. Impact
    Hijack admin session / site takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated account with contributor-level privileges or higher on the target WordPress site (the description says 'contributor-level access and above'), and requires that the attacker use Otter Blocks to supply crafted block styling values, which the plugin fails to sanitize/escape before writing them into an inline stylesheet. The payload is stored and only fires when a victim - any visitor, including an administrator - subsequently views the affected post (UI:R). Limiting factors: exploitation is not fully public (needs at least a contributor account, so sites that do not allow untrusted contributors are far less exposed), and it depends on a victim rendering the poisoned post; it does not require any non-default configuration of the plugin.

Impact

This is a stored (persistent) cross-site scripting flaw (CWE-79) in the Otter Blocks WordPress plugin. The input CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H, 6.8) signals network reach, low complexity, and high impact, but two signals conflict with the description and warrant caution. First, the vector lists PR:H (high privilege), yet the description explicitly states 'contributor-level access and above' - contributor is a low-privilege role in WordPress, which maps to PR:L, not PR:H; this discrepancy should be verified, as it understates how many accounts can exploit the issue. Second, C:H/I:H/A:H is an aggressive rating for an XSS bug and most likely reflects the worst case where the script runs in an administrator's authenticated session (full-site takeover); typical stored XSS impact is lower. The decision signals point to a moderate, non-emergency priority: SSVC shows Exploitation=none, Automatable=no, Technical Impact=partial, and the vuln.today Decision label is 'this_month' (patch within normal maintenance, not an emergency). There is no CISA KEV listing and no EPSS score was supplied, and no public exploit code is referenced - only WPScan and NVD advisory pages. Net: a genuine but not urgent issue - real because any contributor can plant script that runs in an admin's browser, but gated behind authentication and victim page-views, so it is a priority-patch item rather than a drop-everything emergency.

Exploit ScenarioDerived

An attacker who holds (or phishes/registers) a contributor-level account on a multi-author WordPress site edits a post using Otter Blocks and injects a malicious script through unsanitized block styling values, which get written verbatim into an inline stylesheet. When an administrator later opens or previews that post, the script executes in their authenticated browser session, enabling session/cookie theft or admin actions. No public exploit code is referenced, though a WPScan advisory describes the issue.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Stored cross-site scripting in the Otter Blocks WordPress plugin before version 3.2.8 lets users with contributor-level access or higher inject arbitrary web scripts through crafted block styling values that the plugin writes unsanitized into an inline stylesheet. The payload persists in the affected post and executes in the browser of any visitor who later views it, including an administrator, which can lead to session or privilege compromise. Exploitation requires an authenticated contributor account and victim interaction (viewing the poisoned post); no public exploit has been identified at time of analysis, SSVC records Exploitation as none and Automatable as no, and the vendor has released a patch in 3.2.8.

RemediationAI

Upgrade Otter Blocks to version 3.2.8 or later, which is the vendor-released fix for this stored XSS; the vendor states a patch is available, and the advisory at https://wpscan.com/vulnerability/a2a19770-9ee2-4164-9ea6-a882cf0085e9/ should be consulted for the official guidance. Because exploitation requires a contributor-level or higher account, reducing the population that holds those privileges on installations that cannot be patched immediately lowers exposure, as does reviewing existing contributor accounts and pending posts for unexpected block styling markup; note that tightening roles can disrupt editorial workflows for legitimate contributors. Remediation should be prioritized this month per the current decision label, and since no public exploit has been identified, emergency out-of-band action is not indicated, though sites with untrusted contributors should treat the update as higher priority.

Affected VersionsENISA

Otter Blocks 0 <3.2.8

Affected Packages

euvd otter_blocks fix: 3.2.8

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a CWE-79 cross-site scripting issue rooted in missing output encoding at a CSS sink: Otter Blocks collects user-supplied block styling values and renders them into an inline stylesheet without sanitizing or escaping them first. Because the injected content lands inside a style context rather than ordinary HTML, the plugin is responsible for both validating the styling value and encoding it correctly for that context before it is emitted into the page. The affected component is the WordPress plugin (EUVD lists affected versions as 0 through before 3.2.8); no CPE strings were supplied, so identification should be done by plugin slug and version rather than by CPE matching. Our assessment rates the issue CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, treating it as a scope-changing stored XSS with low confidentiality and integrity impact, lower than the vendor-side 6.8 vector; the trigger described in the available sources is a contributor supplying crafted block styling values and a victim subsequently rendering the affected post, and nothing beyond that triggering path is specified in the sources.

Know when WordPress gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (wpscan) PRIMARY 6.8 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 5.4 MEDIUM

Contributor role is PR:L (not PR:H); victim must view the post (UI:R); stored XSS executes in other users' browsers so S:C with low confidentiality/integrity impact and no availability impact.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (wpscan).

CVSS VectorVendor: wpscan

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 23, 2026 - 12:22 NVD
6.8 (None) 6.8 (MEDIUM)
Patch available
Oct 23, 2026 - 07:01 EUVD
CVE Published
Oct 23, 2026 - 06:17 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 23, 2026 - 06:17 cve.org
MEDIUM 6.8

DescriptionCVE.org

The Otter Blocks WordPress plugin before 3.2.8 does not properly sanitize and escape user-supplied block styling values before writing them into an inline stylesheet, allowing users with contributor-level access and above to inject arbitrary web scripts that execute when any visitor, including administrators, views the affected post.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
popular WordPress Gutenberg blocks plugin, hundreds of thousands of installs
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2016-10033 CRITICAL POC
9.8 Dec 30

The mailSend function in the isMail transport in PHPMailer before 5.2.18 might allow remote attackers to pass extra para

CVE-2016-10045 CRITICAL POC
9.8 Dec 30

The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2026-63030 CRITICAL POC
9.8 Jul 17

Remote code execution in WordPress 6.9.x (before 6.9.5) and 7.0.x (before 7.0.2) arises from a REST API batch endpoint r

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy