Description
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.
Published: 2026-03-21
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored cross‑site scripting enabled for WordPress contributors
Action: Patch
AI Analysis

Impact

The Sheets2Table WordPress plugin contains a stored cross‑site scripting flaw in the titles shortcode attribute of the [sheets2table-render-table] shortcode. Input from the 'titles' field is trimmed but not sanitized or escaped before being inserted into a <th> element, allowing an attacker to embed arbitrary JavaScript that will run for any user who views a page containing the injected table. This flaw grants authenticated users with Contributor privileges – a role that can edit and publish content – the ability to compromise the confidentiality and integrity of the site by injecting malicious scripts.

Affected Systems

Any WordPress installation using the Sheets2Table plugin version 0.4.1 or earlier is affected. The weakness exists within the plugin’s core files – class‑sheets2table‑tables.php and sheets2table‑shortcodes.php – and requires that the user have at least Contributor access to the site to exploit.

Risk and Exploitability

The CVSS base score is 6.4, indicating moderate severity. The EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog. The attack vector is authenticated, meaning a user must be logged in with Contributor or higher privileges. The exploitation path is straightforward: an attacker crafts a malicious titles attribute in the shortcode, publishes the content, and any site visitor will execute the injected code. Consequently, the risk is high for sites that allow contributors to add or edit content.

Generated by OpenCVE AI on March 21, 2026 at 07:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Sheets2Table to the latest release that removes the vulnerability (check the plugin’s changelog for version 0.4.2 or newer).
  • If an update is not immediately possible, revoke Contributor or higher roles from users who do not require editing access.

Generated by OpenCVE AI on March 21, 2026 at 07:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 23 Mar 2026 18:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 23 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Tonyh-1
Tonyh-1 sheets2table
Wordpress
Wordpress wordpress
Vendors & Products Tonyh-1
Tonyh-1 sheets2table
Wordpress
Wordpress wordpress

Sat, 21 Mar 2026 05:30:00 +0000

Type Values Removed Values Added
Description 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.
Title Sheets2Table <= 0.4.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'titles' Shortcode Attribute
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Tonyh-1 Sheets2table
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-04-08T17:03:52.300Z

Reserved: 2026-03-05T19:03:49.829Z

Link: CVE-2026-3619

cve-icon Vulnrichment

Updated: 2026-03-23T17:06:08.555Z

cve-icon NVD

Status : Deferred

Published: 2026-03-21T04:17:30.430

Modified: 2026-04-24T16:27:44.277

Link: CVE-2026-3619

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T14:41:59Z

Weaknesses