Elementor Custom Skin Security & Risk Analysis

wordpress.org/plugins/ele-custom-skin

Create new skins for Elementor PRO 3.x page builder. Design your own skins for Post and Post Archive Widgets using Elementor Loop Templates.

100K active installs v3.1.9 PHP + WP 5.0+ Updated Apr 11, 2024
archive-listelementorlooppage-builderpost-widget
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Elementor Custom Skin Safe to Use in 2026?

Generally Safe

Score 92/100

Elementor Custom Skin has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 1yr ago
Risk Assessment

The "ele-custom-skin" v3.1.9 plugin presents a significant security risk due to a lack of robust security controls. The most concerning aspect is the presence of two AJAX handlers that lack any authentication or capability checks. This creates a direct pathway for unauthenticated users to potentially trigger malicious actions within the plugin, leading to arbitrary execution or data manipulation. The static analysis also reveals that 100% of SQL queries are not using prepared statements, which is a major vulnerability that could allow for SQL injection attacks. Furthermore, only 22% of output is properly escaped, increasing the risk of cross-site scripting (XSS) vulnerabilities. The absence of any recorded vulnerabilities in the history is positive, but it does not mitigate the severe deficiencies identified in the current code analysis. The plugin needs immediate attention to address these critical security gaps.

Key Concerns

  • Unprotected AJAX handlers
  • SQL queries without prepared statements
  • Low percentage of properly escaped output
  • Missing nonce checks on AJAX
  • Missing capability checks
Vulnerabilities
None known

Elementor Custom Skin Security Vulnerabilities

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

Elementor Custom Skin Code Analysis

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

SQL Query Safety

0% prepared4 total queries

Output Escaping

22% escaped27 total outputs
Attack Surface
2 unprotected

Elementor Custom Skin Attack Surface

Entry Points2
Unprotected2

AJAX Handlers 2

authwp_ajax_ecsloadincludes\ajax-pagination.php:37
noprivwp_ajax_ecsloadincludes\ajax-pagination.php:38
WordPress Hooks 35
actionelementor_pro/initele-custom-skin.php:34
actionelementor/widgets/registerele-custom-skin.php:43
actioninitele-custom-skin.php:55
actionwp_footerincludes\admin-bar-menu.php:89
actionwp_enqueue_scriptsincludes\ajax-pagination.php:30
actionelementor/element/before_section_endincludes\ajax-pagination.php:31
actionelementor/element/after_section_endincludes\ajax-pagination.php:32
actionelementor/frontend/section/before_renderincludes\dynamic-style.php:94
actionelementor/frontend/column/before_renderincludes\dynamic-style.php:95
actionelementor/frontend/container/before_renderincludes\dynamic-style.php:97
actionelementor/frontend/widget/before_renderincludes\dynamic-style.php:99
actionelementor/frontend/widget/before_renderincludes\dynamic-style.php:103
actionadmin_noticesincludes\ecs-notices.php:53
actionadmin_initincludes\ecs-notices.php:75
actionwp_enqueue_scriptsincludes\enqueue-styles.php:6
actionadmin_noticesincludes\pro-features.php:24
actionadmin_initincludes\pro-features.php:31
filterplugin_row_metaincludes\pro-features.php:33
actionECS_after_controlincludes\pro-preview.php:9
actionelementor/widgets/registermodules\loop-item\module.php:84
actionelementor/controls/registermodules\loop-item\module.php:85
actionelementor/element/posts/section_pagination/after_section_endskins\skin-custom.php:47
actionelementor/element/archive-posts/section_layout/before_section_endskins\skin-custom.php:612
actionelementor/element/archive-posts/section_layout/after_section_endskins\skin-custom.php:613
actionelementor/element/archive-posts/section_pagination/after_section_endskins\skin-custom.php:616
actionelementor/widget/posts/skins_initskins\skin-custom.php:633
actionelementor/widget/archive-posts/skins_initskins\skin-custom.php:637
actionelementor/theme/register_conditionstheme-builder\conditions\custom-grid.php:47
actionelementor/theme/register_conditionstheme-builder\conditions\loop.php:66
filterexcerpt_moretheme-builder\dynamic-tags\tags\post-summary.php:44
filterexcerpt_lengththeme-builder\dynamic-tags\tags\post-summary.php:45
filterelementor_pro/editor/localize_settingstheme-builder\init.php:55
actionelementor/theme/register_locationstheme-builder\init.php:70
actionelementor/preview/inittheme-builder\init.php:86
actionelementor/documents/registertheme-builder\init.php:94
Maintenance & Trust

Elementor Custom Skin Maintenance & Trust

Maintenance Signals

WordPress version tested6.5.8
Last updatedApr 11, 2024
PHP min version
Downloads1.5M

Community Trust

Rating94/100
Number of ratings116
Active installs100K
Developer Profile

Elementor Custom Skin Developer Profile

dudaster

2 plugins · 100K total installs

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

How We Detect Elementor Custom Skin

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/ele-custom-skin/assets/css/ecs-admin.css/wp-content/plugins/ele-custom-skin/assets/css/ecs-public.css/wp-content/plugins/ele-custom-skin/assets/js/ecs-public.js/wp-content/plugins/ele-custom-skin/theme-builder/assets/css/theme-builder-public.css/wp-content/plugins/ele-custom-skin/theme-builder/assets/js/theme-builder-public.js/wp-content/plugins/ele-custom-skin/modules/loop-item/assets/css/loop-item.css/wp-content/plugins/ele-custom-skin/modules/loop-item/assets/js/loop-item.js
Script Paths
/wp-content/plugins/ele-custom-skin/assets/js/ecs-public.js/wp-content/plugins/ele-custom-skin/theme-builder/assets/js/theme-builder-public.js/wp-content/plugins/ele-custom-skin/modules/loop-item/assets/js/loop-item.js
Version Parameters
ele-custom-skin/assets/css/ecs-admin.css?ver=ele-custom-skin/assets/css/ecs-public.css?ver=ele-custom-skin/assets/js/ecs-public.js?ver=ele-custom-skin/theme-builder/assets/css/theme-builder-public.css?ver=ele-custom-skin/theme-builder/assets/js/theme-builder-public.js?ver=ele-custom-skin/modules/loop-item/assets/css/loop-item.css?ver=ele-custom-skin/modules/loop-item/assets/js/loop-item.js?ver=

HTML / DOM Fingerprints

CSS Classes
ecs-custom-paginationecs-loading-animationecs-loadmoreecs-loop-item-wrapecs-custom-posts-widgetecs-custom-archive-widget
HTML Comments
<!-- Ele Custom Skin elements start --><!-- Ele Custom Skin elements end --><!-- Ele Custom Skin Loop Item Widget Start --><!-- Ele Custom Skin Loop Item Widget End -->
Data Attributes
data-ecs-settingsdata-ecs-widget-iddata-ecs-post-iddata-ecs-current-pagedata-ecs-max-pages
JS Globals
ecs_load_more_paramsEleCustomLoopItem
REST Endpoints
/wp-json/ele-custom-skin/v1/get-posts
FAQ

Frequently Asked Questions about Elementor Custom Skin