Blocks – Reusable Content, Shortcodes & Site Variables Security & Risk Analysis

wordpress.org/plugins/blocks

Create reusable WordPress content blocks, global content, and site variables. Edit once and update shortcodes across pages and builders.

600 active installs v26.07.19.14 PHP 8.1+ WP 6.1+ Updated Jul 19, 2026
content-blocksglobal-contentreusable-contentshortcodesite-variables
100
A · Safe
CVEs total1
Unpatched0
Last CVESep 28, 2023
Safety Verdict

Is Blocks – Reusable Content, Shortcodes & Site Variables Safe to Use in 2026?

Generally Safe

Score 100/100

Blocks – Reusable Content, Shortcodes & Site Variables has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

1 known CVELast CVE: Sep 28, 2023Updated 1mo ago
Risk Assessment

The "blocks" plugin v026.02.22.22 exhibits a mixed security posture. While it demonstrates good practices such as a relatively low attack surface and a decent percentage of properly escaped output, there are notable areas of concern. The presence of one unprotected REST API route represents a significant potential entry point for unauthorized actions. Furthermore, the fact that half of its SQL queries are not using prepared statements raises alarms for potential SQL injection vulnerabilities, especially when combined with the unprotected REST API. The plugin's vulnerability history, specifically a past medium-severity Cross-Site Scripting (XSS) vulnerability, suggests a tendency for input sanitization issues. Although this vulnerability is currently patched, it highlights a pattern that, when combined with the static analysis findings, warrants caution.

In conclusion, the plugin has strengths in its limited external dependencies and generally good output escaping. However, the unprotected REST API route and the prevalence of non-prepared SQL statements are critical weaknesses that significantly elevate the risk profile. The historical XSS vulnerability reinforces the need for rigorous input validation and sanitization. Users of this plugin should be aware of these potential vulnerabilities and ensure they are using the latest patched version, while actively monitoring for any future security advisories.

Key Concerns

  • Unprotected REST API route
  • SQL queries not using prepared statements (50%)
  • Medium severity XSS vulnerability in history (last 2023-09-28)
Vulnerabilities
1 published

Blocks – Reusable Content, Shortcodes & Site Variables Security Vulnerabilities

CVEs by Year

1 CVE in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2023-44262medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Blocks <= 1.6.42 - Authenticated (Administrator+) Stored Cross-Site Scripting

Sep 28, 2023 Patched in 25.09.30.1006 (742d)
Version History

Blocks – Reusable Content, Shortcodes & Site Variables Release Timeline

v26.07.19.14Current
v26.07.13.21
v026.03.16.23
v026.02.22.22
Code Analysis
Analyzed Mar 16, 2026

Blocks – Reusable Content, Shortcodes & Site Variables Code Analysis

Dangerous Functions
0
Raw SQL Queries
3
3 prepared
Unescaped Output
136
469 escaped
Nonce Checks
8
Capability Checks
24
File Operations
1
External Requests
0
Bundled Libraries
0

SQL Query Safety

50% prepared6 total queries

Output Escaping

78% escaped605 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
blocks_admin_management_page (includes\admin\blocks-admin-views.php:9)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

Blocks – Reusable Content, Shortcodes & Site Variables Attack Surface

Entry Points6
Unprotected1

REST API Routes 1

GET/wp-json/specials/currentincludes\features\class-blocks-specials.php:32

Shortcodes 5

[block] includes\core\class-blocks-shortcode-handler.php:25
[blocks] includes\core\class-blocks-shortcodes.php:54
[Blocks_Specials] includes\features\class-blocks-specials.php:24
[locale-coupon] includes\geo\class-blocks-geo-popup.php:144
[chimp-hours] includes\support-hours\class-blocks-support-hours-api.php:97
WordPress Hooks 138
actionadmin_menuincludes\admin\blocks-admin.php:9
actionadmin_menuincludes\admin\blocks-admin.php:60
filterset-screen-optionincludes\admin\blocks-admin.php:97
actionadmin_enqueue_scriptsincludes\admin\blocks-admin.php:167
actionblocks_admin_noticesincludes\admin\blocks-admin.php:195
actionblocks_admin_noticesincludes\admin\blocks-admin.php:219
filterplugin_action_linksincludes\admin\blocks-admin.php:237
actionadmin_bar_menuincludes\admin\class-blocks-admin-bar.php:37
actionwp_enqueue_scriptsincludes\admin\class-blocks-admin-bar.php:38
actionadmin_enqueue_scriptsincludes\admin\class-blocks-admin-bar.php:39
actionadmin_menuincludes\admin\class-blocks-hide-login-settings.php:10
actionadmin_initincludes\admin\class-blocks-hide-login-settings.php:11
actionadmin_menuincludes\admin\class-blocks-honeypot-settings.php:33
actionadmin_initincludes\admin\class-blocks-honeypot-settings.php:34
actionadmin_menuincludes\admin\class-blocks-settings.php:38
actionadmin_initincludes\admin\class-blocks-settings.php:39
actionadmin_enqueue_scriptsincludes\admin\class-blocks-settings.php:40
filterwp_redirectincludes\admin\class-blocks-settings.php:41
actionadmin_menuincludes\admin\class-blocks-specials-settings.php:12
actionadmin_post_blocks_save_specialsincludes\admin\class-blocks-specials-settings.php:13
actionadmin_enqueue_scriptsincludes\admin\class-blocks-specials-settings.php:14
filterwidget_textincludes\bootstrap.php:15
actionplugins_loadedincludes\bootstrap.php:64
filtermap_meta_capincludes\core\class-blocks-capabilities.php:25
actionelementor/widgets/registerincludes\core\class-blocks-page-builders.php:34
actionet_builder_readyincludes\core\class-blocks-page-builders.php:39
actioninitincludes\core\class-blocks-page-builders.php:44
actioninitincludes\core\class-blocks-page-builders.php:49
actionvc_before_initincludes\core\class-blocks-page-builders.php:54
actioninitincludes\core\class-blocks-page-builders.php:59
actionzionbuilder/elements/registerincludes\core\class-blocks-page-builders.php:64
filtertcb_elements_configincludes\core\class-blocks-page-builders.php:69
actionbreakdance_register_elementsincludes\core\class-blocks-page-builders.php:74
actionfusion_builder_before_initincludes\core\class-blocks-page-builders.php:79
actionblocks_after_saveincludes\core\class-blocks-page-builders.php:83
actionblocks_after_deleteincludes\core\class-blocks-page-builders.php:84
actionplugins_loadedincludes\core\class-blocks-plugin.php:27
actioninitincludes\core\class-blocks-plugin.php:28
actionadmin_initincludes\core\class-blocks-plugin.php:29
filterplugin_row_metaincludes\core\class-blocks-plugin.php:30
actionactivated_pluginincludes\core\class-blocks-plugin.php:31
actioninitincludes\core\class-blocks-post-types.php:25
actionblocks_after_saveincludes\core\class-blocks-shortcode-handler.php:26
actionrest_api_initincludes\features\class-blocks-banner-products.php:59
actionadmin_enqueue_scriptsincludes\features\class-blocks-banner-products.php:62
actionwoocommerce_update_productincludes\features\class-blocks-banner-products.php:65
actionwoocommerce_delete_productincludes\features\class-blocks-banner-products.php:66
actionwp_loadedincludes\features\class-blocks-banner-products.php:69
actiontemplate_redirectincludes\features\class-blocks-banner-products.php:72
actionwoocommerce_before_checkout_formincludes\features\class-blocks-banner-products.php:75
actionwoocommerce_before_cartincludes\features\class-blocks-banner-products.php:76
actionwoocommerce_add_to_cartincludes\features\class-blocks-banner-products.php:79
actionwp_footerincludes\features\class-blocks-banner.php:53
actionwp_enqueue_scriptsincludes\features\class-blocks-banner.php:54
actionblocks_after_saveincludes\features\class-blocks-banner.php:57
actionbefore_delete_postincludes\features\class-blocks-banner.php:58
filterwpcf7_form_elementsincludes\features\class-blocks-honeypot.php:38
filterwpcf7_spamincludes\features\class-blocks-honeypot.php:41
actionwp_enqueue_scriptsincludes\features\class-blocks-idle-redirect.php:48
actionrest_api_initincludes\features\class-blocks-livechat.php:53
actionwp_enqueue_scriptsincludes\features\class-blocks-livechat.php:54
actionwp_footerincludes\features\class-blocks-popup.php:53
actionwp_enqueue_scriptsincludes\features\class-blocks-popup.php:54
actionblocks_after_saveincludes\features\class-blocks-popup.php:57
actionbefore_delete_postincludes\features\class-blocks-popup.php:58
actionadd_meta_boxesincludes\features\class-blocks-seo.php:17
actionsave_postincludes\features\class-blocks-seo.php:18
actionplugins_loadedincludes\features\class-blocks-seo.php:23
actionwp_headincludes\features\class-blocks-seo.php:36
actionwp_headincludes\features\class-blocks-seo.php:37
actionwp_headincludes\features\class-blocks-seo.php:38
filterdocument_title_partsincludes\features\class-blocks-seo.php:39
filterwp_robotsincludes\features\class-blocks-seo.php:40
actionrest_api_initincludes\features\class-blocks-specials.php:23
filtermanage_users_columnsincludes\geo\class-blocks-admin-user-table.php:64
filtermanage_users_custom_columnincludes\geo\class-blocks-admin-user-table.php:65
filtermanage_users_sortable_columnsincludes\geo\class-blocks-admin-user-table.php:66
actionpre_get_usersincludes\geo\class-blocks-admin-user-table.php:67
actionpre_get_usersincludes\geo\class-blocks-admin-user-table.php:68
actionuser_registerincludes\geo\class-blocks-admin-user-table.php:69
actionrest_api_initincludes\geo\class-blocks-geo-popup.php:143
actioninitincludes\page-builders\gutenberg-block.php:14
actionlogin_enqueue_scriptsincludes\security\class-blocks-custom-login.php:29
actionlogin_headerincludes\security\class-blocks-custom-login.php:30
actionlogin_footerincludes\security\class-blocks-custom-login.php:31
filterlogin_headerurlincludes\security\class-blocks-custom-login.php:32
filterlogin_headertextincludes\security\class-blocks-custom-login.php:33
actionadmin_initincludes\security\class-blocks-disable-comments.php:29
actionadmin_menuincludes\security\class-blocks-disable-comments.php:30
actioninitincludes\security\class-blocks-disable-comments.php:31
actionwp_before_admin_bar_renderincludes\security\class-blocks-disable-comments.php:32
filtercomments_openincludes\security\class-blocks-disable-comments.php:34
filterpings_openincludes\security\class-blocks-disable-comments.php:35
filtercomments_arrayincludes\security\class-blocks-disable-comments.php:36
filterfeed_links_show_comments_feedincludes\security\class-blocks-disable-comments.php:37
filterrest_endpointsincludes\security\class-blocks-disable-comments.php:40
filterxmlrpc_methodsincludes\security\class-blocks-disable-comments.php:43
filtercomments_templateincludes\security\class-blocks-disable-comments.php:46
actionthe_postsincludes\security\class-blocks-disable-comments.php:49
actionpre_comment_on_postincludes\security\class-blocks-disable-comments.php:52
filterrewrite_rules_arrayincludes\security\class-blocks-disable-comments.php:55
actionwidgets_initincludes\security\class-blocks-disable-comments.php:58
actionadmin_initincludes\security\class-blocks-disable-comments.php:61
filterxmlrpc_methodsincludes\security\class-blocks-disable-xmlrpc.php:19
filterwp_headersincludes\security\class-blocks-disable-xmlrpc.php:22
filterbloginfo_urlincludes\security\class-blocks-disable-xmlrpc.php:25
actioninitincludes\security\class-blocks-disable-xmlrpc.php:29
filterxmlrpc_methodsincludes\security\class-blocks-disable-xmlrpc.php:32
actionwp_loadedincludes\security\class-blocks-hide-login.php:26
actionwp_loadedincludes\security\class-blocks-hide-login.php:27
filterlogin_urlincludes\security\class-blocks-hide-login.php:30
filtersite_urlincludes\security\class-blocks-hide-login.php:31
filternetwork_site_urlincludes\security\class-blocks-hide-login.php:32
filterwp_redirectincludes\security\class-blocks-hide-login.php:33
filterlostpassword_urlincludes\security\class-blocks-hide-login.php:34
actionwp_logoutincludes\security\class-blocks-hide-login.php:37
actioninitincludes\security\class-blocks-hide-login.php:40
filterrest_endpointsincludes\security\class-blocks-hide-login.php:43
actionlogin_headincludes\security\class-blocks-hide-login.php:46
filteruse_block_editor_for_post_typeincludes\security\class-blocks-performance.php:44
actioninitincludes\security\class-blocks-performance.php:48
actionwp_default_scriptsincludes\security\class-blocks-performance.php:52
actioninitincludes\security\class-blocks-performance.php:56
actionwp_headincludes\security\class-blocks-performance.php:69
actionwp_enqueue_scriptsincludes\security\class-blocks-performance.php:70
actionwp_enqueue_scriptsincludes\security\class-blocks-performance.php:71
filterstyle_loader_tagincludes\security\class-blocks-performance.php:74
actionwp_enqueue_scriptsincludes\security\class-blocks-performance.php:78
filtertiny_mce_pluginsincludes\security\class-blocks-performance.php:105
filterwp_resource_hintsincludes\security\class-blocks-performance.php:109
actionsend_headersincludes\security\class-blocks-security.php:47
filterstyle_loader_srcincludes\security\class-blocks-security.php:51
filterscript_loader_srcincludes\security\class-blocks-security.php:52
filterthe_generatorincludes\security\class-blocks-security.php:56
actioninitincludes\security\class-blocks-security.php:60
actioninitincludes\security\class-blocks-security.php:64
actionrest_api_initincludes\support-hours\class-blocks-support-hours.php:39
actionwp_enqueue_scriptsincludes\support-hours\class-blocks-support-hours.php:40
Maintenance & Trust

Blocks – Reusable Content, Shortcodes & Site Variables Maintenance & Trust

Maintenance Signals

WordPress version tested7.0.2
Last updatedJul 19, 2026
PHP min version8.1
Downloads94K

Community Trust

Rating36/100
Number of ratings5
Active installs600
Developer Profile

Blocks – Reusable Content, Shortcodes & Site Variables Developer Profile

Renzo Johnson

5 plugins · 41K total installs

78
trust score
Avg Security Score
98/100
Avg Patch Time
296 days
View full developer profile
Detection Fingerprints

How We Detect Blocks – Reusable Content, Shortcodes & Site Variables

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/blocks/assets/css/admin.css/wp-content/plugins/blocks/assets/js/admin.js
Script Paths
/wp-content/plugins/blocks/assets/js/admin.js
Version Parameters
?ver=026.02.22.22&ver=026.02.22.22

HTML / DOM Fingerprints

CSS Classes
wp-block-blocks-content
Data Attributes
data-block-iddata-block-template
JS Globals
blocksAdmin
Shortcode Output
[blocks[blocks post_id=
FAQ

Frequently Asked Questions about Blocks – Reusable Content, Shortcodes & Site Variables