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
3DescriptionCVE.org
The Sheets2Table plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'titles' shortcode attribute in the [sheets2table-render-table] shortcode in all versions up to and including 0.4.1. This is due to insufficient input sanitization and output escaping. Specifically, the 'titles' attribute value from the shortcode is passed through S2T_Functions::trim_array_values() (which only trims whitespace) and then echoed directly into HTML via echo $header inside a <th> tag in the display_table_header() function without any escaping such as esc_html(). 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
The Sheets2Table WordPress plugin versions up to 0.4.1 contain a Stored Cross-Site Scripting (XSS) vulnerability in the [sheets2table-render-table] shortcode's 'titles' attribute, allowing authenticated attackers with Contributor-level access or higher to inject arbitrary JavaScript that executes for all users viewing affected pages. The vulnerability stems from insufficient input sanitization and output escaping in the display_table_header() function, where user-supplied shortcode attributes are echoed directly into HTML without proper escaping mechanisms such as esc_html().
Technical ContextAI
The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation) and affects the Sheets2Table plugin (CPE: cpe:2.3:a:tonyh-1:sheets2table:*:*:*:*:*:*:*:*). The root cause lies in the plugin's shortcode processing pipeline, specifically in the core/sheets2table-shortcodes.php file where the 'titles' shortcode attribute is extracted and passed to the S2T_Functions::trim_array_values() function. This trimming function only removes whitespace and provides no sanitization. The unsanitized value is then directly echoed into HTML table header (<th>) tags via the display_table_header() function in core/class-sheets2table-tables.php at line 122, bypassing WordPress's standard output escaping functions. This represents a failure to apply defense-in-depth principles whereby both input validation and output encoding should be employed to prevent XSS injection in a WordPress context.
RemediationAI
Users of the Sheets2Table plugin should update to the latest patched version as soon as it becomes available from the plugin developer, as official patch status was not confirmed in available intelligence. The primary remediation is to upgrade to a version released after 0.4.1 that includes proper output escaping using WordPress functions such as esc_html() or esc_attr() for the 'titles' shortcode attribute before echoing values into HTML context. Until a patch is available, administrators should restrict the [sheets2table-render-table] shortcode usage to trusted content creators only by limiting Contributor-level and above access to essential personnel, and consider disabling the plugin entirely if it is not actively used. Code-level mitigation involves manually patching the display_table_header() function in core/class-sheets2table-tables.php to wrap the $header variable with esc_html() before output, ensuring that any HTML special characters in user input are properly encoded. Monitor the WordPress plugins repository (https://plugins.trac.wordpress.org/browser/sheets2table/) for patch availability and check Wordfence threat intelligence regularly for confirmed remediation guidance.
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-14183
GHSA-gwmc-j777-wj8p