Classic Blog Grid Security & Risk Analysis

wordpress.org/plugins/classic-blog-grid

Classic Blog Grid : A plugin to display blog posts in various grid formats: list, masonry, and slider.

4K active installs v1.9 PHP 7.2+ WP 5.2+ Updated Jan 6, 2026
blogblog-displaygrid-layoutpost-gridpost-slider
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Classic Blog Grid Safe to Use in 2026?

Generally Safe

Score 100/100

Classic Blog Grid has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2mo ago
Risk Assessment

The 'classic-blog-grid' plugin v1.9 exhibits a mixed security posture. While it demonstrates good practices such as using prepared statements for all SQL queries and a relatively high percentage of output escaping (79%), several significant concerns emerge from the static analysis. The presence of seven AJAX handlers, with four lacking authentication checks, presents a substantial attack surface. This could allow unauthenticated users to trigger potentially sensitive actions. The limited number of nonce and capability checks further exacerbates this risk, as these are crucial for validating user intent and permissions.

Key Concerns

  • Unprotected AJAX handlers
  • Insufficient Nonce Checks
  • Insufficient Capability Checks
  • Low percentage of properly escaped output
Vulnerabilities
None known

Classic Blog Grid Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Classic Blog Grid Code Analysis

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

Output Escaping

79% escaped834 total outputs
Data Flows
All sanitized

Data Flow Analysis

4 flows
load_more_posts (includes\clbgd-masonary-load.php:4)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Classic Blog Grid Attack Surface

Entry Points8
Unprotected4

AJAX Handlers 7

authwp_ajax_clbgd_get_filtered_productsglobal-functions.php:129
noprivwp_ajax_clbgd_get_filtered_productsglobal-functions.php:130
authwp_ajax_clbgd_dismiss_noticeglobal-functions.php:157
authwp_ajax_load_more_postsincludes\clbgd-masonary-load.php:2
noprivwp_ajax_load_more_postsincludes\clbgd-masonary-load.php:3
authwp_ajax_clbgd_searchincludes\clbgd-search-results.php:159
noprivwp_ajax_clbgd_searchincludes\clbgd-search-results.php:160

Shortcodes 1

[clbgd] includes\class-clbgd-shortcodes.php:16
WordPress Hooks 13
actionplugins_loadedclassic-blog-grid.php:35
actionwp_enqueue_scriptsclassic-blog-grid.php:54
filterthe_postsclassic-blog-grid.php:59
actionadmin_noticesglobal-functions.php:131
actioninitincludes\class-classic-blog-grid-core.php:36
actionadmin_menuincludes\class-classic-blog-grid-core.php:37
actionadmin_enqueue_scriptsincludes\class-classic-blog-grid-core.php:38
actionadmin_post_clbgd_save_gridincludes\class-classic-blog-grid-core.php:39
filterget_edit_post_linkincludes\class-classic-blog-grid-core.php:40
filterpost_row_actionsincludes\class-classic-blog-grid-core.php:41
filteradmin_urlincludes\class-classic-blog-grid-core.php:42
filtermanage_clbgd_grid_posts_columnsincludes\class-classic-blog-grid-core.php:43
actionmanage_clbgd_grid_posts_custom_columnincludes\class-classic-blog-grid-core.php:44
Maintenance & Trust

Classic Blog Grid Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJan 6, 2026
PHP min version7.2
Downloads30K

Community Trust

Rating60/100
Number of ratings2
Active installs4K
Developer Profile

Classic Blog Grid Developer Profile

classictemplate

109 plugins · 13K total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Classic Blog Grid

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/classic-blog-grid/assets/lib/css/swiper-bundle.min.css/wp-content/plugins/classic-blog-grid/assets/lib/js/swiper-bundle.min.js/wp-content/plugins/classic-blog-grid/assets/css/bootstrap.min.css/wp-content/plugins/classic-blog-grid/assets/js/bootstrap.bundle.min.js/wp-content/plugins/classic-blog-grid/assets/lib/css/fontawesome-all.min.css/wp-content/plugins/classic-blog-grid/assets/css/admin-styles.css/wp-content/plugins/classic-blog-grid/assets/js/clbgd-pagination.js/wp-content/plugins/classic-blog-grid/assets/lib/css/fontawesome-all.min.css+2 more
Script Paths
/wp-content/plugins/classic-blog-grid/assets/lib/js/swiper-bundle.min.js/wp-content/plugins/classic-blog-grid/assets/js/bootstrap.bundle.min.js/wp-content/plugins/classic-blog-grid/assets/js/clbgd-pagination.js/wp-content/plugins/classic-blog-grid/assets/js/admin-scripts.js
Version Parameters
classic-blog-grid/assets/lib/css/swiper-bundle.min.css?ver=classic-blog-grid/assets/lib/js/swiper-bundle.min.js?ver=classic-blog-grid/assets/css/bootstrap.min.css?ver=classic-blog-grid/assets/js/bootstrap.bundle.min.js?ver=classic-blog-grid/assets/lib/css/fontawesome-all.min.css?ver=classic-blog-grid/assets/css/admin-styles.css?ver=classic-blog-grid/assets/js/clbgd-pagination.js?ver=classic-blog-grid/assets/lib/css/fontawesome-all.min.css?ver=classic-blog-grid/assets/css/admin-dashboard.css?ver=classic-blog-grid/assets/js/admin-scripts.js?ver=

HTML / DOM Fingerprints

CSS Classes
clbgd-grid-wrapperclbgd_grid_itemclbgd-grid-post-thumbnailclbgd-post-titleclbgd-post-metaclbgd-post-excerptclbgd-pagination-wrapperclbgd-admin-grid-item+1 more
HTML Comments
<!-- Start of Classic Blog Grid Shortcode --><!-- End of Classic Blog Grid Shortcode --><!-- Classic Blog Grid Admin Dashboard --><!-- Grid Edit Link -->+3 more
Data Attributes
data-clbgd-iddata-clbgd-post-id
JS Globals
clbgd_pagination_objectclbgd_admin_object
REST Endpoints
/wp-json/clbgd/v1/get_posts
Shortcode Output
[clbgd id="
FAQ

Frequently Asked Questions about Classic Blog Grid