TablePress – Tables in WordPress made easy Security & Risk Analysis

wordpress.org/plugins/tablepress

Embed beautiful, accessible, and interactive tables into your WordPress website’s posts and pages, without having to write code!

700K active installs v3.3 PHP 7.4+ WP 6.7+ Updated Apr 7, 2026
csvexcelspreadsheettabletables
91
A · Safe
CVEs total9
Unpatched0
Last CVENov 3, 2025
Safety Verdict

Is TablePress – Tables in WordPress made easy Safe to Use in 2026?

Generally Safe

Score 91/100

TablePress – Tables in WordPress made easy has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

9 known CVEsLast CVE: Nov 3, 2025Updated 1mo ago
Risk Assessment

TablePress v3.2.8 exhibits a mixed security posture. While the attack surface appears to be well-controlled with no exposed AJAX handlers, REST API routes, shortcodes, or cron events, and a significant number of capability checks (73), there are concerning aspects in the code analysis. Specifically, 100% of SQL queries are not using prepared statements, which is a significant risk for SQL injection vulnerabilities. Additionally, only 63% of output escaping is properly implemented, leaving a substantial portion of outputs potentially vulnerable to cross-site scripting (XSS) attacks. The presence of file operations (24) also warrants attention, especially in conjunction with the unsanitized path identified in the taint analysis, indicating a potential for directory traversal or similar file-based attacks.

The vulnerability history of TablePress is a significant concern. With 9 known CVEs, including 2 high and 7 medium severity vulnerabilities, the plugin has a history of attracting serious security flaws. The common vulnerability types listed (XSS, SSRF, Injection, XXE) align with the weaknesses observed in the code analysis. While there are currently no unpatched CVEs, the frequency and severity of past vulnerabilities suggest a pattern of insecure coding practices that could resurface in future versions. The last recorded vulnerability was relatively recent, emphasizing the need for continued vigilance.

In conclusion, TablePress v3.2.8 has strengths in its controlled attack surface and robust capability checks. However, the lack of prepared statements for SQL queries, insufficient output escaping, potential for unsanitized path issues in taint analysis, and a concerning history of high and medium severity vulnerabilities collectively present a notable risk. Users should be aware of these potential weaknesses and ensure prompt updates when security patches are released.

Key Concerns

  • 100% of SQL queries lack prepared statements
  • Only 63% of output escaping is proper
  • Flows with unsanitized paths found in taint analysis
  • 2 High severity vulnerabilities in history
  • 7 Medium severity vulnerabilities in history
  • Bundled library Freemius v1.0 outdated
Vulnerabilities
9 published

TablePress – Tables in WordPress made easy Security Vulnerabilities

CVEs by Year

1 CVE in 2017
2017
1 CVE in 2020
2020
3 CVEs in 2024
2024
4 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

High
2
Medium
7

9 total CVEs

CVE-2025-12324medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TablePress – Tables in WordPress made easy <= 3.2.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode Attributes

Nov 3, 2025 Patched in 3.2.5 (1d)
CVE-2025-9500medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TablePress <= 3.2 - Authenticated (Contributor+) Stored Cross-Site Scripting via shortcode_debug Parameter

Aug 29, 2025 Patched in 3.2.1 (1d)
CVE-2025-5096medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TablePress <= 3.1.2 - Authenticated (Contributor+) DOM-Based Stored Cross-Site Scripting via Multiple Parameters

May 22, 2025 Patched in 3.1.3 (1d)
CVE-2025-2685medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TablePress – Tables in WordPress made easy <= 3.0.4 - Authenticated (Author+) Stored Cross-Site Scripting

Mar 26, 2025 Patched in 3.1 (1d)
CVE-2024-9595medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

TablePress <= 2.4.2 - Authenticated (Author+) Stored Cross-Site Scripting

Oct 11, 2024 Patched in 2.4.3 (1d)
CVE-2024-4354medium · 6.4Server-Side Request Forgery (SSRF)

TablePress – Tables in WordPress made easy <= 2.3 - Authenticated (Author+) Server-Side Request Forgery via DNS Rebind

Jun 6, 2024 Patched in 2.3.2 (1d)
CVE-2024-23825high · 8.5Server-Side Request Forgery (SSRF)

TablePress <= 2.2.4 - Authenticated(Author+) Server Side Request Forgery(SSRF) via _get_import_files

Jan 31, 2024 Patched in 2.2.5 (3d)
CVE-2019-20180high · 8Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

TablePress <= 1.14 - Authenticated (Author+) CSV Injection

Feb 1, 2020 Patched in 2.0 (1452d)
CVE-2017-10889medium · 4.3Improper Restriction of XML External Entity Reference

TablePress <= 1.8 - XML External Entity Injection

Jul 4, 2017 Patched in 1.8.1 (2394d)
Version History

TablePress – Tables in WordPress made easy Release Timeline

v3.3Current
v3.2.834 files changed
v3.2.7102 files changed
v3.2.6104 files changed
v3.2.577 files changed
v3.2.41 CVE11 files changed
v3.2.31 CVE5 files changed
v3.2.21 CVE45 files changed
v3.2.11 CVE33 files changed
v3.22 CVEs346 files changed
v3.1.32 CVEs32 files changed
v3.1.23 CVEs228 files changed
v3.1.13 CVEs14 files changed
v3.13 CVEs200 files changed
v3.0.44 CVEs14 files changed
v3.0.34 CVEs38 files changed
v3.0.24 CVEs663 files changed
v3.0.14 CVEs36 files changed
v3.04 CVEs468 files changed
v2.4.44 CVEs5 files changed
Code Analysis
Analyzed Mar 16, 2026

TablePress – Tables in WordPress made easy Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
0 prepared
Unescaped Output
64
108 escaped
Nonce Checks
2
Capability Checks
73
File Operations
24
External Requests
0
Bundled Libraries
3

Bundled Libraries

Freemius1.0TinyMCEDataTables

SQL Query Safety

0% prepared1 total queries

Output Escaping

63% escaped172 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

4 flows1 with unsanitized paths
textbox_tables_list (views\view-list.php:376)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

TablePress – Tables in WordPress made easy Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 40
filteradmin_footer_textclasses\class-admin-page-helper.php:105
filtertablepress_cell_contentclasses\class-render.php:144
filtertablepress_apply_nl2brclasses\class-render.php:303
actionwp_import_insert_postclasses\class-tablepress.php:167
filterwp_import_post_metaclasses\class-tablepress.php:168
filterwxr_export_skip_postmetaclasses\class-tablepress.php:169
filterset_screen_option_tablepress_list_per_pagecontrollers\controller-admin.php:57
actionadmin_menucontrollers\controller-admin.php:59
actionadmin_initcontrollers\controller-admin.php:60
actionenqueue_block_editor_assetscontrollers\controller-admin.php:62
actionenqueue_block_assetscontrollers\controller-admin.php:63
actionadmin_bar_menucontrollers\controller-admin.php:178
actionload-plugins.phpcontrollers\controller-admin.php:181
filtermce_external_pluginscontrollers\controller-admin.php:329
filtermce_buttonscontrollers\controller-admin.php:330
filterplugin_row_metacontrollers\controller-admin.php:393
actionwp_enqueue_scriptscontrollers\controller-frontend.php:91
actionwp_print_footer_scriptscontrollers\controller-frontend.php:94
actioninitcontrollers\controller-frontend.php:97
filterposts_searchcontrollers\controller-frontend.php:108
actionelementor/widgets/registercontrollers\controller-frontend.php:136
actionelementor/editor/after_enqueue_stylescontrollers\controller-frontend.php:137
actionadmin_noticescontrollers\environment-checks.php:52
actionadmin_noticescontrollers\environment-checks.php:85
filterplugin_iconcontrollers\freemius-filters.php:16
filterpricing/css_pathcontrollers\freemius-filters.php:25
filteris_submenu_visiblecontrollers\freemius-filters.php:34
filterpricing/show_annual_in_monthlycontrollers\freemius-filters.php:47
filterdefault_currencycontrollers\freemius-filters.php:50
filterhide_account_tabscontrollers\freemius-filters.php:65
filtermap_meta_capmodels\model-options.php:97
filtercontent_save_premodels\model-post.php:130
filterexcerpt_save_premodels\model-post.php:131
filtercontent_save_premodels\model-post.php:197
filterexcerpt_save_premodels\model-post.php:198
actioninittablepress.php:133
filterngettext_defaultviews\class-all-tables-list-table.php:470
filterngettext_defaultviews\class-editor-button-thickbox-list-table.php:219
filtermedia_view_stringsviews\view-edit.php:65
filterscreen_settingsviews\view-edit.php:91
Maintenance & Trust

TablePress – Tables in WordPress made easy Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedApr 7, 2026
PHP min version7.4
Downloads23.3M

Community Trust

Rating100/100
Number of ratings4,623
Active installs700K
Developer Profile

TablePress – Tables in WordPress made easy Developer Profile

Tobias Bäthge

1 plugin · 700K total installs

73
trust score
Avg Security Score
91/100
Avg Patch Time
428 days
View full developer profile
Detection Fingerprints

How We Detect TablePress – Tables in WordPress made easy

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/tablepress/admin/css/build/admin.css/wp-content/plugins/tablepress/admin/css/build/backend.css/wp-content/plugins/tablepress/admin/css/build/frontend.css/wp-content/plugins/tablepress/admin/js/build/admin.js/wp-content/plugins/tablepress/admin/js/build/backend.js/wp-content/plugins/tablepress/admin/js/build/frontend.js
Script Paths
/wp-content/plugins/tablepress/admin/js/build/admin.js/wp-content/plugins/tablepress/admin/js/build/backend.js/wp-content/plugins/tablepress/admin/js/build/frontend.js
Version Parameters
tablepress/admin/css/build/admin.css?ver=tablepress/admin/css/build/backend.css?ver=tablepress/admin/css/build/frontend.css?ver=tablepress/admin/js/build/admin.js?ver=tablepress/admin/js/build/backend.js?ver=tablepress/admin/js/build/frontend.js?ver=

HTML / DOM Fingerprints

CSS Classes
tablepress_frontend
HTML Comments
<!-- START tablepress --><!-- END tablepress --><!-- Start TablePressEnd TablePress -->
Data Attributes
data-tablepress-id
JS Globals
tablepress_i18ntablepress_settingstablepress_export_optionstablepress_import_optionstablepress_datatables_languagetablepress_options_table+3 more
Shortcode Output
[tablepress
FAQ

Frequently Asked Questions about TablePress – Tables in WordPress made easy