Custom Ratings Security & Risk Analysis

wordpress.org/plugins/custom-ratings

A fun and creative way to let your site visitors rate your posts, pages, and more!

80 active installs v1.5.1 PHP + WP 3.5+ Updated Jan 14, 2023
postratingstarsuser-ratingwoocommerce
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Custom Ratings Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 3yr ago
Risk Assessment

The "custom-ratings" plugin v1.5.1 presents a mixed security posture. On the positive side, it shows good practices in avoiding dangerous functions, performing all SQL queries with prepared statements, and having no recorded vulnerability history. This suggests a generally well-maintained codebase with a history of security awareness.

However, significant concerns arise from the attack surface analysis. The plugin exposes four AJAX handlers, all of which lack authentication checks. This is a critical vulnerability as it allows unauthenticated users to potentially trigger arbitrary actions within the plugin. While taint analysis didn't reveal critical or high severity issues, the presence of one unsanitized path flow is concerning and warrants further investigation. The low rate of proper output escaping (5%) is another notable weakness, increasing the risk of Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is not adequately sanitized before being displayed.

In conclusion, despite a clean vulnerability history and good SQL practices, the unprotected AJAX endpoints and poor output escaping practices create a substantial risk. The lack of authentication on these entry points is the most immediate and severe concern, potentially leading to unauthorized access or malicious actions within the WordPress site. The low rate of output escaping further exacerbates the risk of client-side attacks.

Key Concerns

  • AJAX handlers without auth checks
  • Low output escaping percentage
  • Unsanitized path flow in taint analysis
Vulnerabilities
None known

Custom Ratings Security Vulnerabilities

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

Custom Ratings Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
105
5 escaped
Nonce Checks
1
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

5% escaped110 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

3 flows1 with unsanitized paths
wpcr_get_vote_counts (admin\class-custom-ratings-admin.php:249)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Custom Ratings Attack Surface

Entry Points4
Unprotected4

AJAX Handlers 4

authwp_ajax_wpcr_add_voteincludes\class-custom-ratings.php:159
noprivwp_ajax_wpcr_add_voteincludes\class-custom-ratings.php:160
authwp_ajax_wpcr_get_vote_countsincludes\class-custom-ratings.php:161
noprivwp_ajax_wpcr_get_vote_countsincludes\class-custom-ratings.php:162
WordPress Hooks 16
actionplugins_loadedincludes\class-custom-ratings.php:140
actionadmin_enqueue_scriptsincludes\class-custom-ratings.php:155
actionadmin_enqueue_scriptsincludes\class-custom-ratings.php:156
actionadd_meta_boxesincludes\class-custom-ratings.php:157
actioninitincludes\class-custom-ratings.php:158
actionadmin_menuincludes\class-custom-ratings.php:163
actionadmin_initincludes\class-custom-ratings.php:164
actionpre_get_postsincludes\class-custom-ratings.php:165
actionsave_postincludes\class-custom-ratings.php:166
actionupdate_option_wpcr_post_typesincludes\class-custom-ratings.php:167
actionplugins_loadedincludes\class-custom-ratings.php:168
actionwp_enqueue_scriptsincludes\class-custom-ratings.php:270
actionwp_enqueue_scriptsincludes\class-custom-ratings.php:271
filterthe_contentincludes\class-custom-ratings.php:272
filterget_the_excerptincludes\class-custom-ratings.php:273
actionwp_footerincludes\class-custom-ratings.php:274
Maintenance & Trust

Custom Ratings Maintenance & Trust

Maintenance Signals

WordPress version tested6.1.10
Last updatedJan 14, 2023
PHP min version
Downloads7K

Community Trust

Rating82/100
Number of ratings7
Active installs80
Developer Profile

Custom Ratings Developer Profile

Steve Puddick

6 plugins · 1K total installs

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

How We Detect Custom Ratings

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/custom-ratings/css/custom-ratings-admin.css/wp-content/plugins/custom-ratings/css/spectrum.css/wp-content/plugins/custom-ratings/js/spectrum.js/wp-content/plugins/custom-ratings/js/jquery.are-you-sure.js/wp-content/plugins/custom-ratings/js/ays-beforeunload-shim.js/wp-content/plugins/custom-ratings/js/custom-ratings-admin.js
Script Paths
js/spectrum.jsjs/jquery.are-you-sure.jsjs/ays-beforeunload-shim.jsjs/custom-ratings-admin.js
Version Parameters
custom-ratings-admin.css?ver=spectrum.css?ver=spectrum.js?ver=jquery.are-you-sure.js?ver=custom-ratings-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpcr__ratings-column-labelwpcr__admin-rating-icon
Data Attributes
data-rateit-resetabledata-rateit-stepdata-rateit-mindata-rateit-maxdata-rateit-backingficlassdata-rateit-backingfivolume+29 more
JS Globals
custom_ratings
FAQ

Frequently Asked Questions about Custom Ratings