Executive brief
The TableOn plugin for WordPress, which allows users to create filterable tables of posts, contains a security flaw that allows users with contributor-level access or higher to inject malicious scripts into website pages. These scripts will automatically run in the browser of any visitor who views the affected page. This could lead to unauthorized actions being performed on behalf of site administrators or the theft of sensitive session information.
Technical details
The TableOn plugin is vulnerable to Stored Cross-Site Scripting (XSS) due to insufficient input sanitization and output escaping on user-supplied shortcode attributes within the 'tableon_button' shortcode. Specifically, the do_shortcode_button() function extracts attributes like 'class', 'help_link', 'popup_title', and 'help_title' and passes them to TABLEON_HELPER::draw_html_item(), which concatenates them into HTML using single quotes without escaping. This allows authenticated attackers with Contributor-level permissions or higher to inject arbitrary web scripts. The vulnerability is present in versions up to and including 1.0.4.4; users should update to the latest patched version.
Affected products
- realmag777 TableOn – WordPress Posts Table Filterable up to and including 1.0.4.4
Timeline
- 2026-04-08: advisory: Initial publication of the vulnerability advisory.
References
- https://plugins.trac.wordpress.org/browser/posts-table-filterable/trunk/index.php
- https://plugins.trac.wordpress.org/browser/posts-table-filterable/trunk/index.php
- https://plugins.trac.wordpress.org/browser/posts-table-filterable/trunk/lib/helper.php
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3476421%40posts-table-filterable&new=3476421%40posts-table-filterable&sfp_email=&sfph_mail=
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3492852%40posts-table-filterable&new=3492852%40posts-table-filterable&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/33490873-da99-465e-bfb6-44d2ba84f3ee?source=cve