WP Contacts Slim Security & Risk Analysis

wordpress.org/plugins/wp-contacts-slim

Take complete control of your own leads and contacts right in your WordPress installation, powerful features and easy to use.

10 active installs v1.0.0 PHP + WP 4.9+ Updated Unknown
contact-databasecontactsleadsleads-databasepersonal-database
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP Contacts Slim Safe to Use in 2026?

Generally Safe

Score 100/100

WP Contacts Slim has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The "wp-contacts-slim" v1.0.0 plugin exhibits significant security concerns primarily due to its large, unprotected attack surface and the presence of dangerous functions. All identified entry points, including AJAX handlers and REST API routes, lack proper authentication or permission checks, making them highly susceptible to unauthorized access and manipulation. The extensive use of the `unserialize` function, a known vector for remote code execution when handling untrusted input, is a critical red flag. Taint analysis further highlights these issues, revealing four high-severity flows where unsanitized data could potentially be exploited. The static analysis also indicates that a substantial portion of SQL queries and output operations are not properly secured, increasing the risk of injection attacks and cross-site scripting (XSS).

Despite the absence of recorded historical vulnerabilities (CVEs), this can be misleading. The current code analysis reveals a strong potential for exploitation due to fundamental security misconfigurations. The plugin demonstrates a clear disregard for basic WordPress security best practices, particularly concerning input validation and authorization. While the presence of nonce checks and capability checks in some areas is a positive sign, their limited application fails to mitigate the overarching risks. The plugin's current state presents a high risk to WordPress installations and should be addressed with immediate remediation.

Key Concerns

  • All AJAX handlers lack auth checks
  • REST API route lacks permission callback
  • 4 high severity taint flows
  • Uses unserialize function
  • Low percentage of prepared SQL statements
  • Low percentage of properly escaped output
  • Bundled TinyMCE v1.0
  • Bundled Select2
Vulnerabilities
None known

WP Contacts Slim Security Vulnerabilities

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

WP Contacts Slim Code Analysis

Dangerous Functions
18
Raw SQL Queries
146
26 prepared
Unescaped Output
320
190 escaped
Nonce Checks
6
Capability Checks
1
File Operations
201
External Requests
0
Bundled Libraries
2

Dangerous Functions Found

unserialize$file_data = unserialize($v);includes\class-allleads.php:747
unserialize$db_values = unserialize($option->option_value);includes\class-form-integration.php:263
unserialize$file_data = unserialize($lead_files);includes\class-wcp-ajax.php:525
unserialize$lead_vals['lead_files'] = isset($entry->lead_files) ? unserialize($entry->lead_files) : '';includes\class-wcp-ajax.php:2395
unserialize$notify_who = unserialize($v->notify_who);includes\class-wcp-cron.php:64
unserialize$lead_files = unserialize($entries[$k]->lead_files);includes\class-wcp-export.php:379
unserialize$lead_files = unserialize($lead_vals['lead_files']);includes\class-wcp-individual.php:218
unserialize$files = unserialize($entry->lead_files);includes\class-wcp-rest.php:558
unserialize$lead_vals['lead_files'] = unserialize($entry->lead_files);includes\class-wcp-rest.php:817
unserialize$this->_currentObject = unserialize($obj);includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\APC.php:156
unserialize$this->_currentObject = unserialize(fread($this->_fileHandle,$this->_cellCache[$pCoord]['sz']));includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\DiscISAM.php:126
unserialize$this->_currentObject = unserialize($obj);includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\Memcache.php:160
unserialize$this->_currentObject = unserialize(gzinflate($this->_cellCache[$pCoord]));includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\MemoryGZip.php:98
unserialize$this->_currentObject = unserialize($this->_cellCache[$pCoord]);includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\MemorySerialized.php:98
unserialize$this->_currentObject = unserialize(fread($this->_fileHandle,$this->_cellCache[$pCoord]['sz']));includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\PHPTemp.php:118
unserialize$this->_currentObject = unserialize($obj);includes\PHPExcel\Classes\PHPExcel\CachedObjectStorage\Wincache.php:160
unserialize$this->{$key} = unserialize(serialize($val));includes\PHPExcel\Classes\PHPExcel\Worksheet.php:2839
unserialize$this->{$key} = unserialize(serialize($val));includes\PHPExcel\Classes\PHPExcel.php:866

Bundled Libraries

TinyMCE1.0Select2

SQL Query Safety

15% prepared172 total queries

Output Escaping

37% escaped510 total outputs
Data Flows
6 unsanitized

Data Flow Analysis

6 flows6 with unsanitized paths
dlbackups_callback (includes\class-wcp-dlbackups.php:20)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
7 unprotected

WP Contacts Slim Attack Surface

Entry Points7
Unprotected7

AJAX Handlers 6

authwp_ajax_ajax-wcpbackendincludes\class-wcp-api-tabs.php:102
authwp_ajax_ajax-wcpfrontendincludes\class-wcp-front.php:20
noprivwp_ajax_ajax-wcpfrontendincludes\class-wcp-front.php:21
noprivwp_ajax_ajaxloginincludes\class-wcp-front.php:23
authwp_ajax_dynamic_cssincludes\class-wcp-front.php:34
noprivwp_ajax_dynamic_cssincludes\class-wcp-front.php:35

REST API Routes 1

POST/wp-json/shwcpdb/v1/update-metaincludes\class-wcp-gutenberg.php:47
WordPress Hooks 46
filterpage_attributes_dropdown_pages_argsincludes\class-page-templater.php:47
filtertheme_page_templatesincludes\class-page-templater.php:52
filterpage_attributes_dropdown_pages_argsincludes\class-page-templater.php:57
filterwp_insert_post_dataincludes\class-page-templater.php:64
filtertemplate_includeincludes\class-page-templater.php:72
actionplugins_loadedincludes\class-page-templater.php:160
actioninitincludes\class-wcp-api-tabs.php:90
actionadmin_initincludes\class-wcp-api-tabs.php:91
actionadmin_initincludes\class-wcp-api-tabs.php:92
actionadmin_initincludes\class-wcp-api-tabs.php:93
actionadmin_initincludes\class-wcp-api-tabs.php:94
actionadmin_menuincludes\class-wcp-api-tabs.php:95
actionadmin_menuincludes\class-wcp-api-tabs.php:97
actionadmin_post_wcpdlbackupsincludes\class-wcp-api-tabs.php:107
actionadmin_enqueue_scriptsincludes\class-wcp-api-tabs.php:1441
actionadmin_enqueue_scriptsincludes\class-wcp-api-tabs.php:1442
actionadmin_enqueue_scriptsincludes\class-wcp-api-tabs.php:1448
actionadmin_enqueue_scriptsincludes\class-wcp-api-tabs.php:1449
actionplugins_loadedincludes\class-wcp-api-tabs.php:1566
filterwp_mail_from_nameincludes\class-wcp-cron.php:89
filterwp_mail_content_typeincludes\class-wcp-cron.php:90
actionadmin_post_wcpexportincludes\class-wcp-front.php:27
actionadmin_post_nopriv_wcpexportincludes\class-wcp-front.php:28
actionwp_enqueue_scriptsincludes\class-wcp-front.php:31
actionwp_enqueue_scriptsincludes\class-wcp-front.php:32
filterthe_contentincludes\class-wcp-front.php:36
actioninitincludes\class-wcp-front.php:39
filtershow_admin_barincludes\class-wcp-front.php:58
actionenqueue_block_editor_assetsincludes\class-wcp-gutenberg.php:19
actioninitincludes\class-wcp-gutenberg.php:27
actioninitincludes\class-wcp-gutenberg.php:41
actionrest_api_initincludes\class-wcp-gutenberg.php:59
actionadmin_enqueue_scriptsincludes\class-wcp-metabox.php:13
actionadd_meta_boxes_pageincludes\class-wcp-metabox.php:15
actionsave_postincludes\class-wcp-metabox.php:17
actionrest_api_initincludes\class-wcp-rest.php:36
actionwp_headincludes\wcp-fullpage-template.php:25
actionplugins_loadedshwcp-slim.php:36
actioninitshwcp-slim.php:42
actionafter_setup_themeshwcp-slim.php:43
actioninitshwcp-slim.php:86
actioninitshwcp-slim.php:94
actionwcp_cron_schedule_hookshwcp-slim.php:110
actionplugins_loadedshwcp-slim.php:118
actionwpcf7_initshwcp-slim.php:125
actionwpcf7_mail_sentshwcp-slim.php:126

Scheduled Events 1

wcp_cron_schedule_hook
Maintenance & Trust

WP Contacts Slim Maintenance & Trust

Maintenance Signals

WordPress version tested5.3.21
Last updatedUnknown
PHP min version
Downloads1K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

WP Contacts Slim Developer Profile

scripthat

1 plugin · 10 total installs

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

How We Detect WP Contacts Slim

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-contacts-slim/assets/css/wcp-admin.css/wp-content/plugins/wp-contacts-slim/assets/css/wcp-front.css/wp-content/plugins/wp-contacts-slim/assets/js/wcp-admin.js/wp-content/plugins/wp-contacts-slim/assets/js/wcp-front.js
Version Parameters
wp-contacts-slim/assets/css/wcp-admin.css?ver=wp-contacts-slim/assets/css/wcp-front.css?ver=wp-contacts-slim/assets/js/wcp-admin.js?ver=wp-contacts-slim/assets/js/wcp-front.js?ver=

HTML / DOM Fingerprints

CSS Classes
shwcp-admin-wrapshwcp-main-wrapper
HTML Comments
<!-- WP Contacts Slim plugin by ScriptHat --><!-- For easier overriding we declared the keys * here as well as our tabs array which is populated * when registering settings+6 more
Data Attributes
data-shwcp-db
JS Globals
shwcp_optionsshwcp_vars
REST Endpoints
/wp-json/wpcontacts/v1
FAQ

Frequently Asked Questions about WP Contacts Slim