Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Lifecycle Timeline
2DescriptionCVE.org
The Voyage Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'class' attribute of the 'post-content' shortcode in all versions up to, and including, 1.0.6 due to insufficient input sanitization and output escaping on user supplied attributes. 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.
AnalysisAI
Stored Cross-Site Scripting in Voyage Plus WordPress plugin versions up to 1.0.6 allows authenticated contributors and above to inject malicious scripts via the 'class' attribute of the 'post-content' shortcode due to insufficient input sanitization and output escaping. Injected scripts execute in the browsers of all users viewing affected pages, enabling credential theft, session hijacking, or malware distribution. No public exploit code or active KEV listing identified at time of analysis, but the vulnerability requires only contributor-level access and no user interaction, making it practical for insider threats or compromised contributor accounts.
Technical ContextAI
The Voyage Plus plugin implements custom WordPress shortcodes, including 'post-content', which accept user-supplied attributes such as 'class' for CSS styling. The vulnerability stems from CWE-79 (Improper Neutralization of Input During Web Page Generation), a Stored XSS flaw where user input is stored in the WordPress database and later rendered in page HTML without proper escaping. The shortcode handler at inc/shortcodes.php line 194 directly interpolates the 'class' attribute into HTML output without using WordPress escaping functions like esc_attr() or wp_kses_post(). This allows authenticated users with contributor role (PR:L in CVSS) to craft payloads containing JavaScript that persist in the database and execute in victim browsers when the page is loaded, affecting all visitors regardless of their privilege level (Scope Change: C).
RemediationAI
Update the Voyage Plus plugin to the patched version released by the vendor (vendor-released patch version number not confirmed in provided references; verify latest stable version on WordPress.org plugin repository). If a patched release is not yet available, immediately restrict contributor-level user access to pages containing the 'post-content' shortcode or disable the shortcode entirely via a code filter (e.g., remove_shortcode('post-content')) until patched. For multi-author sites where contributor roles are essential, implement additional compensating controls: enable WordPress security plugins with shortcode and output sanitization rules, audit all pages using the shortcode for malicious injected content, and audit user role assignments to revoke unnecessary contributor access. Review the shortcode implementation at https://plugins.trac.wordpress.org/browser/voyage-plus/trunk/inc/shortcodes.php#L194 to ensure proper use of wp_kses_post() or esc_attr() on the 'class' attribute before output. Side effects of disabling the shortcode: site features relying on post-content styling will break until the plugin is patched and re-enabled.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The 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
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
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 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 Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29400
GHSA-v96v-qjmp-rrrv