Insert Pages Security & Risk Analysis

wordpress.org/plugins/insert-pages

Insert Pages lets you embed any WordPress content (e.g., pages, posts, custom post types) into other WordPress content using the Shortcode API.

40K active installs v3.11.3 PHP + WP 3.3.0+ Updated Mar 31, 2026
embedinsertpagesshortcode
99
A · Safe
CVEs total4
Unpatched0
Last CVEDec 21, 2022
Safety Verdict

Is Insert Pages Safe to Use in 2026?

Generally Safe

Score 99/100

Insert Pages has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

4 known CVEsLast CVE: Dec 21, 2022Updated 1mo ago
Risk Assessment

The "insert-pages" plugin v3.11.2 exhibits a generally good security posture based on the static analysis, with no identified unprotected entry points, all SQL queries using prepared statements, and a high percentage of output escaping. The plugin also implements proper nonce and capability checks for its identified entry points. File operations and external HTTP requests are absent, further reducing the attack surface. Taint analysis shows no critical or high severity unsanitized flows, which is a positive sign.

However, the presence of four "dangerous functions" (assert) is a concern, as these can be misused for debugging or to bypass security controls if not handled with extreme care. While the vulnerability history indicates no currently unpatched CVEs, the plugin has a history of four medium severity vulnerabilities, including Incorrect Authorization, Cross-site Scripting, and Path Traversal. This pattern suggests that while issues are eventually patched, there have been recurring types of vulnerabilities in the past that attackers could potentially exploit if older, unpatched versions are used or if similar flaws are reintroduced.

In conclusion, the plugin demonstrates good fundamental security practices in its current version. The absence of immediate exploitable flaws in static analysis is encouraging. Nevertheless, the historical vulnerability record, particularly the types of issues encountered, warrants vigilance. The use of "assert" also represents a potential area for deeper code review to ensure it's not an exploitable feature.

Key Concerns

  • History of 4 medium severity CVEs
  • Presence of 4 'dangerous functions' (assert)
Vulnerabilities
4 published

Insert Pages Security Vulnerabilities

CVEs by Year

1 CVE in 2017
2017
2 CVEs in 2021
2021
1 CVE in 2022
2022
Patched Has unpatched

Severity Breakdown

Medium
4

4 total CVEs

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

Insert Pages <= 3.7.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode

Dec 21, 2022 Patched in 3.7.5 (398d)
CVE-2021-24851medium · 4.3Incorrect Authorization

Insert Pages <= 3.6.1 - Contributor+ Arbitrary Posts/Pages Access

Oct 18, 2021 Patched in 3.7.0 (827d)
CVE-2021-24850medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Insert Pages <= 3.6.1 - Contributor+ Stored Cross-Site Scripting

Oct 18, 2021 Patched in 3.7.0 (827d)
CVE-2017-18586medium · 6.5Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Insert Pages < 3.2.4 - Authenticated Directory Traversal

Sep 29, 2017 Patched in 3.2.4 (2307d)
Version History

Insert Pages Release Timeline

v3.11.3Current
v3.11.2
v3.11.1
v3.11.0
v3.10.0
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.8.1
v3.8
v3.7.7
v3.7.6
v3.7.5
v3.7.41 CVE
v3.7.31 CVE
v3.7.21 CVE
v3.7.11 CVE
v3.7.01 CVE
Code Analysis
Analyzed Mar 16, 2026

Insert Pages Code Analysis

Dangerous Functions
4
Raw SQL Queries
0
3 prepared
Unescaped Output
30
149 escaped
Nonce Checks
2
Capability Checks
4
File Operations
0
External Requests
0
Bundled Libraries
0

Dangerous Functions Found

assertassert( true ); // No-op.insert-pages.php:570
assertassert( true ); // No-op.insert-pages.php:671
assertassert( true ); // No-op.insert-pages.php:898
assertassert( true ); // No-op.insert-pages.php:1001

SQL Query Safety

100% prepared3 total queries

Output Escaping

83% escaped179 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
insert_pages_wp_tinymce_dialog (insert-pages.php:1347)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Insert Pages Attack Surface

Entry Points3
Unprotected0

AJAX Handlers 2

authwp_ajax_insertpageinsert-pages.php:1862
authwp_ajax_insertpage_save_presetsinsert-pages.php:1865

Shortcodes 1

[insert] insert-pages.php:103
WordPress Hooks 19
filtermce_external_pluginsinsert-pages.php:256
filtermce_buttonsinsert-pages.php:257
filterthemeisle_gutenberg_blocks_enqueue_assetsinsert-pages.php:479
actioninitinsert-pages.php:1847
actionacf_head-inputinsert-pages.php:1849
actionacf/input/admin_headinsert-pages.php:1850
actionadmin_headinsert-pages.php:1853
actionadmin_print_footer_scriptsinsert-pages.php:1856
actionbefore_wp_tiny_mceinsert-pages.php:1859
filterinsert_pages_wrap_contentinsert-pages.php:1868
filtermce_external_pluginsinsert-pages.php:1877
filtermce_buttonsinsert-pages.php:1878
actionwidgets_initinsert-pages.php:1883
actionadmin_menuoptions.php:16
actionadmin_initoptions.php:81
actionsidebar_admin_pagewidget.php:22
actionfl_builder_layout_style_dependencieswidget.php:25
actionelementor/editor/before_enqueue_scriptswidget.php:26
actioncustomize_controls_enqueue_scriptswidget.php:29
Maintenance & Trust

Insert Pages Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 31, 2026
PHP min version
Downloads1.0M

Community Trust

Rating96/100
Number of ratings71
Active installs40K
Developer Profile

Insert Pages Developer Profile

Paul Ryan

5 plugins · 45K total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
961 days
View full developer profile
Detection Fingerprints

How We Detect Insert Pages

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/insert-pages/css/wpinsertpages.css/wp-content/plugins/insert-pages/css/wpinsertpages.css.map/wp-content/plugins/insert-pages/js/wpinsertpages.js/wp-content/plugins/insert-pages/js/wpinsertpages.js.map/wp-content/plugins/insert-pages/lib/gutenberg-block/build/index.js/wp-content/plugins/insert-pages/lib/gutenberg-block/build/index.css
Script Paths
/wp-content/plugins/insert-pages/js/wpinsertpages.js/wp-content/plugins/insert-pages/lib/gutenberg-block/build/index.js
Version Parameters
insert-pages/css/wpinsertpages.css?ver=insert-pages/js/wpinsertpages.js?ver=insert-pages/lib/gutenberg-block/build/index.js?ver=insert-pages/lib/gutenberg-block/build/index.css?ver=

HTML / DOM Fingerprints

CSS Classes
wpip-gutenberg-blockinsert-pages-block-editor
HTML Comments
Copyright 2011 Paul Ryan (email: prar@hawaii.edu)This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License, version 2, aspublished by the Free Software Foundation.+41 more
Data Attributes
data-wpip-gutenberg-block
JS Globals
wpInsertPagesL10n
Shortcode Output
[insert page=[insert page='[insert page='{slug}|{id}|{url}' display='title|link|excerpt|excerpt-only|content|title-content|post-thumbnail|all|{custom-template.php}' class='any-classes' id='any-id' [inline] querystring='{url-encoded-values}' size='post-thumbnail|thumbnail|medium|large|full|{custom-size}']
FAQ

Frequently Asked Questions about Insert Pages