Shapely Companion Security & Risk Analysis

wordpress.org/plugins/shapely-companion

Shapely Companion is a companion plugin for Shapely WordPress theme by Colorlib.com.

10K active installs v1.2.10 PHP + WP 6.4+ Updated Apr 30, 2025
companiondemoone-pagewidgetswoocommerce
100
A · Safe
CVEs total1
Unpatched0
Last CVEMay 24, 2022
Safety Verdict

Is Shapely Companion Safe to Use in 2026?

Generally Safe

Score 100/100

Shapely Companion has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: May 24, 2022Updated 11mo ago
Risk Assessment

The shapely-companion plugin v1.2.10 exhibits a mixed security posture. While it demonstrates good practices in areas like SQL query preparation and output escaping, a significant concern lies in its attack surface. With 5 AJAX handlers, 4 of which lack authentication checks, there's a substantial risk of unauthorized actions being performed by unauthenticated users.

The static analysis shows no critical or high-severity taint flows, and SQL queries are well-protected. However, the presence of 2 nonce checks and 3 capability checks, out of 5 total entry points, indicates a partial implementation of security measures. The vulnerability history shows one past medium-severity vulnerability related to missing authorization, and although none are currently unpatched, this pattern suggests a recurring weakness.

In conclusion, the plugin has strengths in its data handling and output sanitization. Nevertheless, the high number of unprotected AJAX handlers represents a significant security hole that attackers could exploit. The historical pattern of missing authorization vulnerabilities further reinforces this concern, warranting careful attention and remediation.

Key Concerns

  • Unprotected AJAX handlers
  • Past medium severity vulnerability (missing authorization)
  • Limited nonce checks for AJAX
Vulnerabilities
1

Shapely Companion Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

Shapely Companion <= 1.2.6 - Unprotected AJAX Action to Content Import

May 24, 2022 Patched in 1.2.7 (609d)
Code Analysis
Analyzed Mar 16, 2026

Shapely Companion Code Analysis

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

Output Escaping

87% escaped895 total outputs
Data Flows
All sanitized

Data Flow Analysis

5 flows
start_el (inc\class-shapely-walker-nav-menu-edit.php:15)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Shapely Companion Attack Surface

Entry Points5
Unprotected4

AJAX Handlers 5

authwp_ajax_shapely_companion_import_contentinc\shapely-demo-content.php:66
authwp_ajax_shapely_get_attachment_imageinc\shapely-helper.php:32
noprivwp_ajax_shapely_get_attachment_imageinc\shapely-helper.php:33
authwp_ajax_shapely_get_attachment_mediainc\shapely-helper.php:46
noprivwp_ajax_shapely_get_attachment_mediainc\shapely-helper.php:47
WordPress Hooks 29
actionwp_dashboard_setupinc\epsilon-dashboard\class-epsilon-dashboard.php:72
actionwp_network_dashboard_setupinc\epsilon-dashboard\class-epsilon-dashboard.php:73
actionadmin_enqueue_scriptsinc\shapely-enqueues.php:6
actioncustomize_preview_initinc\shapely-enqueues.php:34
filterkses_allowed_protocolsinc\shapely-helper.php:13
filteruser_contactmethodsinc\shapely-helper.php:30
actionload-post.phpinc\shapely-metabox.php:6
actionload-post-new.phpinc\shapely-metabox.php:7
actionadd_meta_boxesinc\shapely-metabox.php:13
actionsave_postinc\shapely-metabox.php:16
filterwp_edit_nav_menu_walkerinc\shapely-navmenu.php:7
actionadmin_head-nav-menus.phpinc\shapely-navmenu.php:17
actionwp_update_nav_menu_iteminc\shapely-navmenu.php:77
actionwidgets_initinc\shapely-widgets.php:10
actionadmin_initinc\widgets\class-shapely-categories.php:13
actioncustomize_controls_enqueue_scriptsinc\widgets\class-shapely-categories.php:14
actioncustomize_preview_initinc\widgets\class-shapely-categories.php:15
actionadmin_initinc\widgets\class-shapely-home-contact.php:12
actioncustomize_controls_enqueue_scriptsinc\widgets\class-shapely-home-contact.php:13
actioncustomize_preview_initinc\widgets\class-shapely-home-contact.php:14
actionadmin_initinc\widgets\class-shapely-home-parallax.php:12
actioncustomize_controls_enqueue_scriptsinc\widgets\class-shapely-home-parallax.php:13
actioncustomize_preview_initinc\widgets\class-shapely-home-parallax.php:14
actioncustomize_controls_enqueue_scriptsinc\widgets\class-shapely-video.php:11
actioncustomize_preview_initinc\widgets\class-shapely-video.php:12
actionafter_setup_themeshapely-companion.php:35
actionwp_dashboard_setupshapely-companion.php:65
actionadmin_noticesshapely-companion.php:101
actioninitshapely-companion.php:111
Maintenance & Trust

Shapely Companion Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedApr 30, 2025
PHP min version
Downloads711K

Community Trust

Rating40/100
Number of ratings2
Active installs10K
Developer Profile

Shapely Companion Developer Profile

colorlibplugins

11 plugins · 420K total installs

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

How We Detect Shapely Companion

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/shapely-companion/assets/css/admin.css/wp-content/plugins/shapely-companion/assets/js/admin.js/wp-content/plugins/shapely-companion/assets/js/vendor/jquery-cloneya.min.js/wp-content/plugins/shapely-companion/assets/js/widget.js/wp-content/plugins/shapely-companion/assets/js/nav-menu.js/wp-content/plugins/shapely-companion/assets/js/previewer.js
Script Paths
/wp-content/plugins/shapely-companion/assets/js/admin.js/wp-content/plugins/shapely-companion/assets/js/vendor/jquery-cloneya.min.js/wp-content/plugins/shapely-companion/assets/js/widget.js/wp-content/plugins/shapely-companion/assets/js/nav-menu.js/wp-content/plugins/shapely-companion/assets/js/previewer.js
Version Parameters
shapely-companion/assets/css/admin.css?ver=shapely-companion/assets/js/admin.js?ver=shapely-companion/assets/js/vendor/jquery-cloneya.min.js?ver=shapely-companion/assets/js/widget.js?ver=shapely-companion/assets/js/nav-menu.js?ver=shapely-companion/assets/js/previewer.js?ver=

HTML / DOM Fingerprints

CSS Classes
shapely-cats
JS Globals
shapelyCompanion
FAQ

Frequently Asked Questions about Shapely Companion