Table of Contents Plus Security & Risk Analysis

wordpress.org/plugins/table-of-contents-plus

A powerful yet user friendly plugin that automatically creates a table of contents. Can also output a sitemap listing all pages and categories.

200K active installs v2411.1 PHP + WP 3.2+ Updated Nov 21, 2024
cmsindexessitemaptable-of-contentstoc
89
A · Safe
CVEs total5
Unpatched0
Last CVEOct 15, 2024
Download
Safety Verdict

Is Table of Contents Plus Safe to Use in 2026?

Generally Safe

Score 89/100

Table of Contents Plus has a strong security track record. Known vulnerabilities have been patched promptly.

5 known CVEsLast CVE: Oct 15, 2024Updated 1yr ago
Risk Assessment

The static analysis of the 'table-of-contents-plus' plugin v2411.1 reveals a generally strong security posture in its current code. The absence of dangerous functions, the complete use of prepared statements for SQL queries, and proper output escaping for all identified outputs are commendable practices. Furthermore, the plugin demonstrates awareness of security by including nonce and capability checks, and it avoids file operations and external HTTP requests, which are common sources of vulnerabilities. The taint analysis also shows no unsanitized paths, indicating that the developers have likely addressed potential input validation issues.

However, a significant concern arises from the plugin's vulnerability history. The existence of five known CVEs, even though none are currently unpatched, suggests a recurring pattern of security weaknesses. The common vulnerability types identified, Cross-Site Request Forgery (CSRF) and Cross-Site Scripting (XSS), are often related to improper input handling and insufficient authorization checks on user-submitted data. While the current code appears to mitigate these in version 2411.1, the history indicates a potential for these vulnerabilities to re-emerge if not rigorously managed. The shortcode entry points, although currently protected, are an area to monitor for future implementations.

In conclusion, the 'table-of-contents-plus' plugin v2411.1 exhibits robust secure coding practices in its current version, with no immediate critical or high-severity code-level risks detected. The plugin's developers are utilizing fundamental security features effectively. The primary weakness lies in its past vulnerability record, which necessitates ongoing vigilance and thorough auditing of future updates to prevent the recurrence of CSRF and XSS issues, despite the current lack of unpatched vulnerabilities.

Key Concerns

  • History of 5 medium severity CVEs
  • History of CSRF and XSS vulnerabilities
Vulnerabilities
5

Table of Contents Plus Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
2 CVEs in 2023
2023
2 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
5

5 total CVEs

CVE-2024-5578medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Table of Contents Plus <= 2411 - Authenticated (Editor+) Stored Cross-Site Scripting

Oct 15, 2024 Patched in 2411.1 (137d)
CVE-2024-49250medium · 4.3Cross-Site Request Forgery (CSRF)

Table of Contents Plus <= 2408 - Cross-Site Request Forgery

Oct 14, 2024 Patched in 2411 (138d)
CVE-2023-44473medium · 4.3Cross-Site Request Forgery (CSRF)

Table of Contents Plus <= 2302 - Cross-Site Request Forgery

Sep 29, 2023 Patched in 2309 (116d)
WF-05206a31-033e-49b9-9b66-5a6165782643-table-of-contents-plusmedium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Table of Contents Plus <= 2302 - Authenticated (Administrator+) Stored Cross-Site Scripting

Sep 19, 2023 Patched in 2309 (126d)
CVE-2022-4479medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Table of Contents Plus <= 2106 - Authenticated (Administrator+) Stored Cross-Site Scripting

Dec 16, 2022 Patched in 2212 (403d)
Code Analysis
Analyzed Mar 17, 2026

Table of Contents Plus Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
0
137 escaped
Nonce Checks
1
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

100% escaped137 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
admin_options (includes\class-toc-plus.php:727)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Table of Contents Plus Attack Surface

Entry Points6
Unprotected0

Shortcodes 6

[toc] includes\class-toc-plus.php:81
[no_toc] includes\class-toc-plus.php:82
[sitemap] includes\class-toc-plus.php:83
[sitemap_pages] includes\class-toc-plus.php:84
[sitemap_categories] includes\class-toc-plus.php:85
[sitemap_posts] includes\class-toc-plus.php:86
WordPress Hooks 11
actionplugins_loadedincludes\class-toc-plus.php:69
actionwp_enqueue_scriptsincludes\class-toc-plus.php:70
actionadmin_initincludes\class-toc-plus.php:71
actionadmin_menuincludes\class-toc-plus.php:72
actionwidgets_initincludes\class-toc-plus.php:73
actiondelete_widgetincludes\class-toc-plus.php:74
actioninitincludes\class-toc-plus.php:75
filterthe_contentincludes\class-toc-plus.php:77
filterplugin_action_linksincludes\class-toc-plus.php:78
filterwidget_textincludes\class-toc-plus.php:79
filterrank_math/researches/toc_pluginsincludes\class-toc-plus.php:547
Maintenance & Trust

Table of Contents Plus Maintenance & Trust

Maintenance Signals

WordPress version tested6.7.5
Last updatedNov 21, 2024
PHP min version
Downloads3.5M

Community Trust

Rating88/100
Number of ratings159
Active installs200K
Developer Profile

Table of Contents Plus Developer Profile

Syed Balkhi

94 plugins · 23.5M total installs

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

How We Detect Table of Contents Plus

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/table-of-contents-plus/assets/css/toc.css/wp-content/plugins/table-of-contents-plus/assets/js/toc.js
Script Paths
/wp-content/plugins/table-of-contents-plus/assets/js/toc.js
Version Parameters
/wp-content/plugins/table-of-contents-plus/assets/css/toc.css?ver=/wp-content/plugins/table-of-contents-plus/assets/js/toc.js?ver=

HTML / DOM Fingerprints

CSS Classes
toc-listtoc-list-flattoc-list-indenttoc-numbertoc-headingtoc-hidetoc-showtoc-sticky
HTML Comments
<!-- Table of Contents Plus is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version. --><!-- Table of Contents Plus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. --><!-- You should have received a copy of the GNU General Public License along with Table of Contents Plus. --><!-- GPL licenced Oxygen icon used for the colour wheel http://www.iconfinder.com/search/?q=iconset%3Aoxygen -->
Data Attributes
data-toc-iddata-toc-heading-levelsdata-toc-excludedata-toc-collapsedata-toc-no-numbersdata-toc-start
JS Globals
toc_plus_config
Shortcode Output
[toc][no_toc][sitemap][sitemap_pages]
FAQ

Frequently Asked Questions about Table of Contents Plus