Skip to main content

VK Expansion Unit CVE-2026-17586

| EUVDEUVD-2026-82746 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-18 Wordfence GHSA-738x-57qm-fc2r
6.4
CVSS 3.1 · Vendor: Wordfence
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 vkExUnit_cta_img_position meta
  3. Exploit
    Bypass sanitize_text_field and safe_kses_post filters
  4. Execution
    Store XSS in CTA block
  5. Persist
    Victim views page
  6. Impact
    Script executes in victim browser

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 WordPress account with contributor-level capability or higher on a site running VK All in One Expansion Unit ≤9.118.0, and use of the plugin's Call-To-Action feature where the 'vkExUnit_cta_img_position' post meta is rendered. The payload must use a double-quote and an on* event-handler attribute to slip past the sanitize_text_field save callback and the Vk_Call_To_Action::safe_kses_post() output filter (which only rewrites disallowed iframe elements). Limiting factors: exploitation is gated on the PR:L contributor privilege (most impactful on multi-author sites or those allowing open/untrusted registration), and payload execution requires a victim - a visitor or administrator - to subsequently view the injected page (stored, so no attacker-side UI trickery needed but a viewing victim is required for impact).

Impact

This is an authenticated, contributor-level stored XSS with a moderate CVSS 3.1 base of 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N). The network vector, low complexity and no-user-interaction flags are offset by the PR:L requirement - an attacker must already hold a contributor or higher account, which meaningfully narrows the realistic attacker population to sites that permit untrusted user registration or have multiple content authors. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so all three exploitation-likelihood signals are absent or negative; this is a patch-and-schedule item rather than an emergency. The scope change (S:C) and the code-level detail in the references (the sanitize_text_field callback not stripping double-quotes or on* handlers, and safe_kses_post() passing non-iframe content verbatim) are credible and specific, but they describe a mechanism, not observed exploitation. Net: a real, verifiable defect worth remediating, not a high-urgency mass-exploitation risk. Wordfence is the sole reporter/source, so the assessment rests on a single vendor's analysis, albeit one corroborated by directly-linked plugin source lines.

Exploit ScenarioDerived

An attacker holding a contributor account on a WordPress site running VK All in One Expansion Unit (≤9.118.0) crafts a Call-To-Action block and injects a payload with a double-quote and an on* event handler into the 'vkExUnit_cta_img_position' post meta, which survives the sanitize_text_field save filter and the safe_kses_post() output filter. When any visitor or an administrator later views the page, the script executes in their browser, enabling session/cookie theft or admin-context actions. No public proof-of-concept is identified at time of analysis.

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

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

Alert me

AnalysisAIv1 – Sep 18, 2026

Stored cross-site scripting in the WordPress plugin VK All in One Expansion Unit (all versions through 9.118.0) allows an authenticated attacker holding contributor-level privileges or higher to plant arbitrary JavaScript in the 'vkExUnit_cta_img_position' post meta, which is then rendered verbatim into the Call-To-Action block output and executes in the browser of any visitor or administrator who later views the affected page. The save-side sanitize_text_field() callback fails to strip double-quote characters and on* event-handler attributes, and the plugin's Vk_Call_To_Action::safe_kses_post() output filter only rewrites disallowed iframe elements while passing everything else through unchanged, so the injected markup survives intact. No public exploit code was identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV), but exploitation requires only a low-privilege contributor account, making it most impactful on multi-author sites or blogs that permit open or untrusted user registration; the assessed CVSS 3.1 base score is 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N).

RemediationAI

No vendor-released patched version number is confirmed in the available data; the upstream fix is available as a WordPress.org plugin Trac changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3631372%40vk-all-in-one-expansion-unit&new=3631372%40vk-all-in-one-expansion-unit), so treat this as an upstream fix that must be validated against the plugin's next stable release before relying on it, and update VK All in One Expansion Unit as soon as a release newer than 9.118.0 is published. Because the plugin is likely being fixed in trunk, sites that cannot immediately upgrade should apply compensating controls: disable or remove the Call-To-Action block/feature (side effect: CTA buttons and action boxes disappear from pages) so the vulnerable 'vkExUnit_cta_img_position' meta is never rendered; tighten account provisioning by switching the site's default new-user role away from Contributor, disabling open registration and requiring moderator approval, and auditing/removing Contributor accounts on multi-author sites (side effect: legitimate guest authors lose direct publishing workflow); restrict who can edit posts containing CTA blocks using a capability-management plugin; run a WAF or WordPress security plugin rule that blocks double quotes combined with on* event attributes in post meta/CTA parameters (side effect: possible false positives on legitimate HTML attributes); and consider a Content-Security-Policy that disallows inline script to blunt execution of any residual payload (side effect: may break theme/plugin inline JavaScript). Finally, scan existing wp_postmeta values for 'vkExUnit_cta_img_position' entries containing double quotes or on* handlers and purge any that are found, since stored payloads persist after patching.

Affected VersionsENISA

VK All in One Expansion Unit 0 ≤9.118.0

Affected Packages

euvd vk_all_in_one_expansion_unit 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

This is a classic CWE-79 improper neutralization of input during web page generation (stored XSS) in the WordPress ecosystem, specifically inside the Call-To-Action (CTA) component of the kurudrive 'vk_all_in_one_expansion_unit' plugin (CPE cpe:2.3:a:kurudrive:vk_all_in_one_expansion_unit:*:*:*:*:*:*:*:*). WordPress stores per-post data such as 'vkExUnit_cta_img_position' in the wp_postmeta table; contributor-level users can write to post meta through the plugin's block editor panels (see inc/block-editor-panels/enqueue.php and inc/call-to-action/package/block/index.php), so attacker-controlled values reach the database before rendering. The sanitization chain is the root cause: on save the plugin applies sanitize_text_field(), which strips tags and line breaks but does not remove double-quote characters or on* event-handler attributes, and on output Vk_Call_To_Action::safe_kses_post() (inc/call-to-action/package/class-vk-call-to-action.php and view-actionbox.php) implements a narrow filter that only rewrites disallowed iframe elements, returning all other markup verbatim instead of running a full wp_kses_post allow-list pass. The result is that a payload using a double quote to break out of an attribute, combined with an event handler such as onmouseover or onerror, is persisted and re-emitted into the page HTML, executing in the security context of the site for every subsequent viewer. The CTA img position field is therefore the attack surface, and the bypass is a sanitization/escaping gap rather than a WordPress core flaw.

Know when Vk All In One Expansion Unit 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 6.4 MEDIUM

Contributor account is required (PR:L), no user interaction to store; stored XSS crossing into a victim's browser context justifies S:C with limited C:L/I:L and no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/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 VK All in One Expansion Unit plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'vkExUnit_cta_img_position' Post Meta in all versions up to, and including, 9.118.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The sanitize_text_field callback applied on save does not strip double-quote characters or on* event-handler attributes, and the output filter Vk_Call_To_Action::safe_kses_post() only rewrites disallowed iframe elements while returning all other content verbatim, leaving the injected payload intact in the rendered HTML.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
popular Japanese-market WordPress utility plugin, common but not universal
Data Quality
3 sources
Confidence: Low

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.3%
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