WP Custom Cursors | WordPress Cursor Plugin Security & Risk Analysis

wordpress.org/plugins/wp-custom-cursors

WP Custom Cursors: Elevate your website's engagement with unique, personalized cursors! Choose from a collection of pre-designed options or creat …

10K active installs v3.3 PHP 7.2+ WP 6.2+ Updated Mar 3, 2024
cursorcursor-plugincustom-cursormouse-pluginwordpress-cursor
57
C · Use Caution
CVEs total6
Unpatched1
Last CVEOct 7, 2023
Safety Verdict

Is WP Custom Cursors | WordPress Cursor Plugin Safe to Use in 2026?

Use With Caution

Score 57/100

WP Custom Cursors | WordPress Cursor Plugin has 1 unpatched vulnerability. Evaluate alternatives or apply available mitigations.

6 known CVEs 1 unpatched Last CVE: Oct 7, 2023Updated 2yr ago
Risk Assessment

The "wp-custom-cursors" plugin (v3.3) exhibits a mixed security posture. On the positive side, the static analysis reveals a well-defined attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events that are directly exposed without authentication. The code also demonstrates good practices regarding SQL query preparation, with 98% of queries utilizing prepared statements. Furthermore, the absence of dangerous functions, file operations, and external HTTP requests is commendable. However, several concerns emerge from the analysis. A significant portion of output (35%) is not properly escaped, which could lead to cross-site scripting vulnerabilities. The presence of only 8 nonce checks and a single capability check across the codebase, while the attack surface is technically zero in the static analysis, suggests a potential reliance on indirect security measures that might be insufficient. The plugin's vulnerability history is a major red flag. With 6 known CVEs, one of which is critical and currently unpatched, and a recent vulnerability in October 2023, the plugin has a history of significant security flaws. The common vulnerability types (SQL Injection, CSRF, XSS) align with the observed unescaped output, reinforcing the need for robust sanitization and validation. The critical unpatched CVE is a pressing issue that significantly elevates the risk associated with this plugin.

Key Concerns

  • One critical unpatched CVE
  • Vulnerability history indicates recurring issues
  • Significant percentage of unescaped output
  • Limited nonce and capability checks
Vulnerabilities
6

WP Custom Cursors | WordPress Cursor Plugin Security Vulnerabilities

CVEs by Year

3 CVEs in 2022
2022
3 CVEs in 2023 · unpatched
2023
Patched Has unpatched

Severity Breakdown

Critical
1
High
2
Medium
3

6 total CVEs

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

WP Custom Cursors | WordPress Cursor <= 3.2 - Authenticated (Admin+) Stored Cross-Site Scripting

Oct 7, 2023Unpatched
CVE-2023-2221critical · 9.1Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

WP Custom Cursors <= 3.1 - Authenticated (Admin+) SQL Injection

May 24, 2023 Patched in 3.2 (444d)
CVE-2023-32739medium · 4.3Cross-Site Request Forgery (CSRF)

WP Custom Cursors < 3.2 - Cross-Site Request Forgery

May 15, 2023 Patched in 3.2 (253d)
CVE-2022-3151high · 8.8Cross-Site Request Forgery (CSRF)

WP Custom Cursors <= 3.0 - Cross-Site Request Forgery to Cursor Manipulation

Sep 21, 2022 Patched in 3.0.1 (489d)
CVE-2022-3149medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WP Custom Cursors <= 3.0 - Authenticated (Administrator+) Stored Cross-Site Scripting

Sep 21, 2022 Patched in 3.0.1 (489d)
CVE-2022-3150high · 7.2Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

WP Custom Cursors <= 3.0.1 - Authenticated (Administrator+) SQL Injection

Sep 21, 2022 Patched in 3.0.3 (489d)
Code Analysis
Analyzed Mar 16, 2026

WP Custom Cursors | WordPress Cursor Plugin Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
44 prepared
Unescaped Output
639
1197 escaped
Nonce Checks
8
Capability Checks
1
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

98% prepared45 total queries

Output Escaping

65% escaped1836 total outputs
Data Flows
All sanitized

Data Flow Analysis

2 flows
<wp-custom-cursors-add-new> (admin\partials\wp-custom-cursors-add-new.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP Custom Cursors | WordPress Cursor Plugin Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 7
actionplugins_loadedincludes\class-wp-custom-cursors.php:104
actionadmin_enqueue_scriptsincludes\class-wp-custom-cursors.php:118
actionadmin_enqueue_scriptsincludes\class-wp-custom-cursors.php:120
actionadmin_menuincludes\class-wp-custom-cursors.php:122
actionwp_loadedincludes\class-wp-custom-cursors.php:124
actionwp_enqueue_scriptsincludes\class-wp-custom-cursors.php:139
actionwp_enqueue_scriptsincludes\class-wp-custom-cursors.php:140
Maintenance & Trust

WP Custom Cursors | WordPress Cursor Plugin Maintenance & Trust

Maintenance Signals

WordPress version tested6.4.8
Last updatedMar 3, 2024
PHP min version7.2
Downloads62K

Community Trust

Rating100/100
Number of ratings4
Active installs10K
Developer Profile

WP Custom Cursors | WordPress Cursor Plugin Developer Profile

Hamid Reza Sepehr

1 plugin · 10K total installs

49
trust score
Avg Security Score
57/100
Avg Patch Time
433 days
View full developer profile
Detection Fingerprints

How We Detect WP Custom Cursors | WordPress Cursor Plugin

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-custom-cursors/admin/css/wp-custom-cursors-admin.css/wp-content/plugins/wp-custom-cursors/admin/css/bootstrap.min.css/wp-content/plugins/wp-custom-cursors/admin/fonts/remixicon.css/wp-content/plugins/wp-custom-cursors/admin/css/spectrum.min.css/wp-content/plugins/wp-custom-cursors/admin/js/bootstrap.bundle.min.js/wp-content/plugins/wp-custom-cursors/admin/js/interact.min.js/wp-content/plugins/wp-custom-cursors/admin/js/spectrum.min.js/wp-content/plugins/wp-custom-cursors/admin/js/jquery.formtowizard.js+2 more
Script Paths
/wp-content/plugins/wp-custom-cursors/admin/js/wp-custom-cursors-admin.js/wp-content/plugins/wp-custom-cursors/admin/js/wp-custom-cursors-make-cursor.js
Version Parameters
/wp-content/plugins/wp-custom-cursors/admin/css/wp-custom-cursors-admin.css?ver=/wp-content/plugins/wp-custom-cursors/admin/css/bootstrap.min.css?ver=/wp-content/plugins/wp-custom-cursors/admin/fonts/remixicon.css?ver=/wp-content/plugins/wp-custom-cursors/admin/css/spectrum.min.css?ver=/wp-content/plugins/wp-custom-cursors/admin/js/bootstrap.bundle.min.js?ver=/wp-content/plugins/wp-custom-cursors/admin/js/interact.min.js?ver=/wp-content/plugins/wp-custom-cursors/admin/js/spectrum.min.js?ver=/wp-content/plugins/wp-custom-cursors/admin/js/jquery.formtowizard.js?ver=/wp-content/plugins/wp-custom-cursors/admin/js/wp-custom-cursors-admin.js?ver=/wp-content/plugins/wp-custom-cursors/admin/js/wp-custom-cursors-make-cursor.js?ver=

HTML / DOM Fingerprints

CSS Classes
wp-custom-cursor-sectionwpc-cursor-wrapperwpc-custom-cursor-listwpc-add-new-cursor-buttonwpcc-tabs-wrapperwpc-cursor-maker-canvas-container
HTML Comments
<!-- Create your custom cursor --><!-- Custom CSS Injection -->
Data Attributes
data-wpc-cursor-iddata-wpc-cursor-typedata-wpc-cursor-imagedata-wpc-cursor-colordata-wpc-hover-selectordata-wpc-hover-cursor-id
JS Globals
wpcc_image_pathcursorsstringswpcc_data
FAQ

Frequently Asked Questions about WP Custom Cursors | WordPress Cursor Plugin