Skip to main content

Kadence Blocks EUVDEUVD-2026-96107

| CVE-2026-104762 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-10 Wordfence GHSA-jpmh-c343-hr2f
6.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with author-level WordPress account
  2. Exploit
    Inject payload via block font family attribute
  3. Execution
    Malicious script stored in page content
  4. Impact
    Script executes in visitors' browsers on page load

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

Two concrete prerequisites must both hold: (1) the attacker must have an authenticated WordPress account with author-level capability or higher (PR:L) on the target site; and (2) the site must have the non-default 'Load Google Fonts Locally' option enabled (kadence_blocks_font_settings['load_fonts_local']) - the encoding bypass is explicitly stated to trigger only in this configuration. Limiting factors that reduce realistic risk: the required privileged account, the non-default setting (default-configured sites are unaffected), and the need for a victim to subsequently access the injected page for payload execution. Sites running the default Kadence Blocks configuration are not exploitable via this path.

Impact

This is a moderate, conditionally-exploitable issue rather than a top-tier priority. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, base 6.4) describes a network-reachable stored XSS requiring only low privileges, with a scope change and low confidentiality/integrity impact. Two signals point toward lower real-world risk, however. First, PR:L is accurate but non-trivial: the attacker must already hold author-level access or above on the target site - a meaningful trust barrier, not an anonymous internet attacker. Second, and critically, the description states the encoding bypass triggers ONLY when the non-default 'Load Google Fonts Locally' option (kadence_blocks_font_settings['load_fonts_local']) is enabled - a precondition the vector's AC:L does not capture; I assess this closer to AC:H because exploitation depends on a configuration state outside the attacker's control. No EPSS score, SSVC decision, KEV listing, or POC flag was provided in the input, so exploitation status is 'no public exploit identified at time of analysis.' The missing EPSS/KEV data limits probabilistic ranking, but the combination of a required privileged account plus a non-default setting points to targeted or insider-style abuse rather than mass exploitation. Net: patch on normal exposure-managed timelines, not an emergency.

Exploit ScenarioDerived

On a Kadence Blocks site that has enabled the non-default 'Load Google Fonts Locally' option, an attacker holding an author-level or higher account edits a page and sets a crafted Block Font Family attribute that bypasses sanitization. When any visitor or administrator later views the page, the stored JavaScript executes in their browser session. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 10, 2026

Stored cross-site scripting in the Kadence Blocks - Page Builder Toolkit for Gutenberg Editor WordPress plugin affects all versions up to and including 3.7.12, allowing an authenticated attacker holding author-level privileges or higher to inject arbitrary web scripts through a block's font-family attribute that execute when a victim views the injected page. The payload path is conditional: the malicious font-family encoding bypass only activates when the non-default 'Load Google Fonts Locally' site option (kadence_blocks_font_settings['load_fonts_local']) is enabled, so default-configured sites are not exploitable through this vector. Exploitation additionally requires a victim to later access the poisoned page, and no public exploit code or confirmed active exploitation was identified at time of analysis; this is a moderate, conditionally-exploitable issue rather than a top-tier priority given the privileged account requirement, the non-default setting, and the necessary victim interaction.

RemediationAI

Apply the upstream fix, which is traceable to Kadence Blocks changeset 3731453 in the WordPress.org Trac repository (https://plugins.trac.wordpress.org/changeset?reponame=&old=3731453%40kadence-blocks&new=3731453%40kadence-blocks); note that this is a committed upstream fix and a tagged patched release version is not independently confirmed in the supplied data, so administrators should update the plugin to the first release newer than 3.7.12 once it is published and verify the installed version against the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/c5c83ab8-91d4-488e-903d-2a4b7f0dfe7d?source=cve. If immediate patching is not possible, the single most effective compensating control is to disable the 'Load Google Fonts Locally' option by setting kadence_blocks_font_settings['load_fonts_local'] to false, since the encoding bypass only triggers in that non-default configuration; the trade-off is that Google Fonts will again be fetched from Google's CDN, which reintroduces the third-party request and possible GDPR/privacy and page-performance concerns that motivated local loading, but it fully closes this specific exploit path. In addition, audit and reduce the number of author-level and higher accounts, since PR:L capability is a hard prerequisite, and review existing pages and reusable blocks for suspicious font-family attributes or injected markup; general output filtering or WAF rules should be treated as supplementary only, as encoding-bypass XSS frequently evades signature-based filters.

Affected VersionsENISA

Kadence Blocks — Page Builder Toolkit for Gutenberg Editor 0 ≤3.7.12

Affected Packages

euvd kadence_blocks_page_builder_toolkit_for_gutenberg_editor no fix

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 vulnerability is a classic CWE-79 improper neutralization of input during web page generation (stored/persistent XSS), rooted in insufficient input sanitization and output escaping of the block font-family attribute within the Kadence Blocks Gutenberg page-builder plugin. The referenced source shows the flaw spans the plugin's frontend rendering and CSS-generation paths: class-kadence-blocks-frontend.php (enqueue/render logic around lines 377-379), class-kadence-blocks-google-fonts.php (line 152, where locally-loaded Google Font families are handled), and class-kadence-blocks-css.php (lines 858 and 2516, where font-family values are written into generated CSS). Because font-family values normally flow into CSS output, the developer-supplied sanitization evidently does not account for an encoding variant that survives into the page markup, permitting script injection once the local-fonts pipeline is engaged. The CPE string cpe:2.3:a:stellarwp:kadence_blocks_-_page_builder_toolkit_for_gutenberg_editor:*:*:*:*:*:*:*:* identifies the WordPress plugin published by StellarWP as the affected product. Per the CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N (score 6.4), the attack is network-reachable and requires low-privileged credentials; scope is changed because the injected script escapes the vulnerable component's security authority into the surrounding site context. Our independent assessment adjusts the attack complexity to High (AC:H) to reflect the two concrete preconditions - an author-level account and the non-default 'Load Google Fonts Locally' setting - which materially tightens the practical exploitability of this issue.

Know when Kadence Blocks Page Builder Toolkit For Gutenberg Editor 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 (Wordfence) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 4.9 MEDIUM

Author-level account required (PR:L) and exploitation depends on the non-default 'load_fonts_local' setting outside attacker control (AC:H); stored XSS executes in other users' browser context (S:C, C:L/I:L).

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Kadence Blocks - Page Builder Toolkit for Gutenberg Editor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Block Font Family Attribute in all versions up to, and including, 3.7.12 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This encoding bypass is only triggered when the "Load Google Fonts Locally" site option (kadence_blocks_font_settings['load_fonts_local']) is enabled, which is not the default configuration.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular WordPress Gutenberg block plugin, not a platform-wide component
Social Media
1
Sightings
Data Quality
5 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 No
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

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

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