Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
PR:L confirmed by Author-level requirement; UI:R applied because victim page-load is necessary for payload execution, contra Wordfence's UI:N assignment for stored XSS.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Youtube Showcase plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 4.0.4 via the 'emd_mb_meta' shortcode. This is due to insufficient input sanitization and output escaping on attachment titles referenced by the shortcode's image field: EMD_MB_Helper::image_info() returns the attachment's raw post_title, and EMD_MB_Helper::shortcode() interpolates it into title="%s" HTML attributes via sprintf() without esc_attr(). This makes it possible for authenticated attackers, with author-level access and above (upload_files capability required to create the attachment, edit_posts/publish_posts to embed the shortcode), to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
AnalysisAI
Stored Cross-Site Scripting in the YouTube Showcase WordPress plugin (versions up to and including 4.0.4) allows authenticated attackers with Author-level access to inject persistent malicious scripts via the emd_mb_meta shortcode. The flaw originates in two helper methods: EMD_MB_Helper::image_info() at helpers.php:L72 returns a raw, unsanitized attachment post_title, which EMD_MB_Helper::shortcode() at helpers.php:L274 then interpolates directly into an HTML title attribute using sprintf() without calling WordPress's standard esc_attr() function. No public exploit code or CISA KEV listing has been identified at time of analysis, but the scope-changed CVSS vector and the relatively low Author-level access bar make this an actionable patch priority for multi-author WordPress deployments.
Technical ContextAI
The affected product is the WordPress plugin 'Video Gallery - YouTube Gallery, Playlist & Video Grid' (also marketed as Youtube Showcase), identified by CPE cpe:2.3:a:emarket-design:video_gallery_-_youtube_gallery,_playlist_&_video_grid:*:*:*:*:*:*:*:*. The root cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS), specifically an output-escaping omission in PHP. The WordPress attachment post_title field is user-controllable by any account with upload_files capability (Author and above). Because EMD_MB_Helper::image_info() retrieves this value raw from the database and passes it to EMD_MB_Helper::shortcode(), which inserts it into an HTML attribute context via an unescaped sprintf() call (title="%s"), an attacker can craft an attachment title containing HTML attribute-breaking payloads such as " onmouseover="malicious_js(). The injected payload is then stored in the WordPress database and rendered into every page that embeds the emd_mb_meta shortcode referencing that attachment.
RemediationAI
Update the 'Video Gallery - YouTube Gallery, Playlist & Video Grid' plugin to a version beyond 4.0.4 as soon as the vendor releases a patched build; monitor the WordPress plugin repository and the Wordfence vulnerability advisory at wordfence.com/threat-intel/vulnerabilities/id/3be5e544-1ea5-46f6-a15b-99b0e3718c91 for a confirmed fix version, as no specific patched release number is available in the current intelligence data. As an immediate compensating control, restrict the upload_files and publish_posts capabilities to fully trusted accounts only - effectively removing the Author role from any semi-trusted or public contributor accounts - which eliminates the attacker's ability to create the malicious attachment and embed the shortcode; the trade-off is reduced contributor autonomy and potentially increased admin workload for media management. Alternatively, temporarily deactivate the plugin if video gallery functionality is non-essential, removing the attack surface entirely without data loss. Site administrators should also audit existing media library attachment titles for suspicious HTML characters or JavaScript event-handler patterns as a precautionary sweep.
More 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 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
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-59894
GHSA-mwqg-cv4p-5r7g