Cursor Control Security & Risk Analysis

wordpress.org/plugins/cursor-control

Easily upload custom images to use as your default cursor, text input cursor, and your cursor for links and buttons.

300 active installs v1.1 PHP + WP 2.9+ Updated Feb 18, 2014
cursorcustom-cursorcustomize-cursor
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Cursor Control Safe to Use in 2026?

Generally Safe

Score 85/100

Cursor Control has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 12yr ago
Risk Assessment

The "cursor-control" plugin version 1.1 exhibits a generally positive security posture based on the provided static analysis and vulnerability history. The absence of known CVEs and the complete reliance on prepared statements for SQL queries are strong indicators of good development practices. Furthermore, the plugin has a very limited attack surface with no identified AJAX handlers, REST API routes, shortcodes, or cron events, which significantly reduces potential entry points for attackers. The lack of file operations and external HTTP requests also minimizes risks in these common attack vectors.

However, a significant concern arises from the static analysis regarding output escaping. With 22 total outputs and 0% properly escaped, this presents a considerable risk of Cross-Site Scripting (XSS) vulnerabilities. Any data displayed to users, if not properly sanitized, could be manipulated to inject malicious scripts. The lack of nonce checks and capability checks, while not directly associated with identified entry points in this version, could become a vulnerability if the attack surface were to expand in future versions or if other vulnerabilities allowed for arbitrary function calls.

In conclusion, while the plugin benefits from a minimal attack surface and safe SQL practices, the pervasive lack of output escaping is a critical weakness that needs immediate attention. The vulnerability history being clean is a positive sign, but it does not mitigate the risks identified within the current codebase's output handling.

Key Concerns

  • All output not properly escaped
  • No nonce checks
  • No capability checks
Vulnerabilities
None known

Cursor Control Security Vulnerabilities

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

Cursor Control Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
22
0 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

0% escaped22 total outputs
Attack Surface

Cursor Control Attack Surface

Entry Points0
Unprotected0
WordPress Hooks 6
filterplugin_row_metaindex.php:25
actioninitindex.php:27
actionadmin_menuindex.php:34
actionadmin_initindex.php:35
actionadmin_enqueue_scriptsindex.php:38
actionwp_headindex.php:501
Maintenance & Trust

Cursor Control Maintenance & Trust

Maintenance Signals

WordPress version tested3.7.41
Last updatedFeb 18, 2014
PHP min version
Downloads10K

Community Trust

Rating100/100
Number of ratings2
Active installs300
Developer Profile

Cursor Control Developer Profile

ClevelandWebDeveloper

3 plugins · 320 total installs

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

How We Detect Cursor Control

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/cursor-control/css/custom-cursor.css
Script Paths
/wp-content/plugins/cursor-control/js/motech_imageupload.js
Version Parameters
cursor-control/css/custom-cursor.css?ver=cursor-control/js/motech_imageupload.js?ver=

HTML / DOM Fingerprints

CSS Classes
motechdonatedonly
HTML Comments
<!-- do when class is instantiated --><!-- uncomment following line to add Settings link to plugin page --><!--image upload script--><!-- section summary info goes here -->+1 more
Data Attributes
data-id="cursor_control_custom_defaultcursor_image_upload"data-id="cursor_control_x_offset"data-id="cursor_control_y_offset"data-id="cursor_control_text_input_cursor_image_upload"data-id="cursor_control_text_input_x_offset"data-id="cursor_control_text_input_y_offset"+3 more
JS Globals
custom_defaultcursor_image_uploadx_offsety_offsettext_input_cursor_image_uploadtext_input_x_offsettext_input_y_offset+12 more
FAQ

Frequently Asked Questions about Cursor Control