Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister or use subscriber account
-
DeliverySend crafted wp.newPost XML-RPC request
-
ExploitBypass save_meta_data early-return sanitization
-
ExecutionStore payload in embedcode meta field
-
ImpactScript executes when user views page
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: (1) a WordPress site running All-in-One Video Gallery version ≤4.9.7; (2) an authenticated account at subscriber level or above - the barrier is low because the plugin unconditionally grants Subscribers the publish_aiovg_videos capability, and lower still on sites permitting open user registration; (3) the WordPress XML-RPC endpoint reachable/enabled (default-on), since the sanitization bypass specifically relies on the XML-RPC code path where $_POST['post_type'] is absent, causing save_meta_data() to return before sanitizing the custom_fields[embedcode] value. Limiting factors: exploitation is not fully unauthenticated (an account is needed); sites that disable or block XML-RPC remove the described bypass vector; and the stored payload only fires when a user subsequently accesses the injected page. The complete fix is updating to the patched release (changeset 3759353); no partial mitigation is stated in the sources. |
| Impact | Signals are moderate but internally consistent, with one feature that raises practical concern above the 6.4 base score. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:C) describes a network-reachable, low-complexity, authenticated (PR:L) stored XSS with a scope change (script executes in the victim's browser authority) and Low confidentiality/integrity impact, no availability impact. The key amplifier is in the description rather than the score: the plugin unconditionally grants Subscribers the publish_aiovg_videos capability and the save_meta_data() sanitization is bypassed on the XML-RPC path (where $_POST['post_type'] is always absent), so the PR:L barrier is effectively 'any registered user' - meaningful on sites that allow open registration. Exploitation status is 'no public exploit identified at time of analysis' (no KEV, and the references are the Wordfence advisory plus source-code/changeset links, not a working exploit). The vuln.today Decision label is 'this_month' - a schedule-and-patch priority, not act_now/emergency. EPSS is NOT provided in the input and KEV status is absent, so widespread-exploitation probability cannot be quantified from the data given. Net: a genuine but medium-urgency issue - real because the authentication bar is unusually low for a subscriber-tier account, tempered because impact is limited to XSS (no direct RCE/data-theft of secrets claimed) and no active exploitation or PoC is evidenced. |
| Exploit ScenarioDerived | An attacker holding (or self-registering) a subscriber-level account on a vulnerable WordPress site sends a single wp.newPost XML-RPC request setting the custom_fields[embedcode] meta value to a malicious script; because the XML-RPC path omits $_POST['post_type'], save_meta_data() returns early and skips sanitization, storing the payload. The script then executes in the browser of any user who views the resulting video page, including administrators. No public exploit code is identified in the provided sources (only the Wordfence advisory and plugin source/changeset references). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in the All-in-One Video Gallery plugin for WordPress (all versions up to and including 4.9.7) lets any authenticated user at Subscriber level or above inject arbitrary web scripts through the custom_fields[embedcode] parameter, which then execute whenever a victim accesses the injected page. The required account is easy to obtain because the plugin unconditionally grants Subscribers the publish_aiovg_videos capability, and the sanitization is bypassed with a single wp.newPost XML-RPC call since save_meta_data() returns early when $_POST['post_type'] is absent. Assessed at 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N); no public exploit code was identified at time of analysis and the issue is not in CISA KEV.
RemediationAI
Apply the vendor fix by updating the plugin to the patched release containing changeset 3759353 (https://plugins.trac.wordpress.org/changeset/3759353/all-in-one-video-gallery/trunk/includes/player/base.php); the sources identify this update as the complete fix and do not state an exact fixed version number, so confirm the installed version is at least the release that ships this changeset. No partial code-level mitigation is documented, but the described bypass depends on the XML-RPC code path: disabling XML-RPC or blocking access to xmlrpc.php (for example at the web server or via a plugin) removes the single-call vector, with the trade-off that remote publishing, mobile apps and Jetpack-style integrations that rely on XML-RPC will stop working. Because the plugin grants Subscribers the publish_aiovg_videos capability unconditionally, reducing exposure also means tightening user registration and reviewing who holds Subscriber accounts on the site, though that does not remove the underlying sanitization defect for legitimate low-privilege users. Note the stored payload executes for visitors of the injected page, so any cleanup should include auditing existing aiovg video entries for injected embedcode content after patching.
Affected VersionsENISA
Affected Packages
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 sanitization on input and missing escaping on output within the plugin's video metadata handling. The vulnerable path is the custom_fields[embedcode] value processed by save_meta_data() in includes/player/base.php; that handler returns before sanitizing when $_POST['post_type'] is absent, a condition that is always true for XML-RPC requests, so payloads submitted through wp.newPost reach storage without filtering and are later emitted into the player markup without escaping (base.php lines 1028 and 277, with the admin-side handling in admin/videos.php line 254). The privilege requirement is undermined by the plugin granting the publish_aiovg_videos capability to Subscribers unconditionally, so the Subscriber-level gate described by the CVSS PR:L metric is effectively open to any self-registered user. Exploitation requires the WordPress XML-RPC endpoint to be reachable, since the bypass specifically depends on that code path; the injected script only fires when a subsequent visitor loads the injected page. Only sites running the plugin at version 4.9.7 or earlier are affected per the CPE record for plugins360:all-in-one_video_gallery.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Authenticated subscriber via XML-RPC gives PR:L and AC:L over the network; stored XSS executing in another user's browser is S:C with Low C/I and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The All-in-One Video Gallery - Video Player & Galleries for YouTube, Vimeo & Self-Hosted Videos plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'custom_fields[embedcode]' parameter in all versions up to, and including, 4.9.7 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The sanitization bypass is possible because the save_meta_data() handler returns early when $_POST['post_type'] is absent - a condition always true during XML-RPC requests - and the plugin unconditionally grants Subscribers the publish_aiovg_videos capability, making this exploitable by any authenticated user via a single wp.newPost XML-RPC call.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Related Vulnerabilities in All-in-One Video Gallery Plugin Stored XSS Flaws
View all 2More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-111564
GHSA-5g9g-cf23-c32r
NVD
CVE.org
EPSS
VulDB
Exploit-DB