WP Vote Lite Security & Risk Analysis

wordpress.org/plugins/wp-vote

Online voting system for minuted meetings.

10 active installs v1.2.0 PHP + WP 4.5+ Updated Unknown
electionsproxy-votequorumvotevoting
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP Vote Lite Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs
Risk Assessment

The wp-vote plugin version 1.2.0 exhibits a mixed security posture. On the positive side, it demonstrates good practices by having a high percentage of properly escaped outputs and a good proportion of SQL queries utilizing prepared statements. The absence of known CVEs and recorded vulnerabilities, along with no critical or high severity taint flows, suggests a generally stable codebase. However, significant concerns arise from the attack surface. A notable five out of seven AJAX handlers lack authentication checks, presenting a considerable risk of unauthorized actions if these handlers are exploitable. The presence of the 'unserialize' function, while not flagged as a critical taint flow, always warrants caution due to its potential for object injection vulnerabilities when dealing with untrusted input.

Key Concerns

  • AJAX handlers without authentication checks
  • Use of unserialize function
Vulnerabilities
None known

WP Vote Lite Security Vulnerabilities

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

WP Vote Lite Code Analysis

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

Dangerous Functions Found

unserialize$questions = unserialize( $questions );includes\class-ballot.php:271

SQL Query Safety

50% prepared2 total queries

Output Escaping

92% escaped83 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<class-ballot-ajax> (admin\class-ballot-ajax.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
5 unprotected

WP Vote Lite Attack Surface

Entry Points7
Unprotected5

AJAX Handlers 7

authwp_ajax_email_ballot_to_individualadmin\class-ballot-ajax.php:19
authwp_ajax_email_ballot_to_all_votersadmin\class-ballot-ajax.php:23
authwp_ajax_export_results_to_csvadmin\class-ballot-ajax.php:27
authwp_ajax_show-individual-votesadmin\class-ballot-ajax.php:31
authwp_ajax_email_test_ballotadmin\class-ballot-ajax.php:36
authwp_ajax_edit_ballot_close_timeadmin\class-ballot-ajax.php:41
authwp_ajax_clear_ballot_close_timeadmin\class-ballot-ajax.php:46
WordPress Hooks 79
filterwp_mail_content_typeadmin\class-ballot-ajax.php:118
filterwp_mail_fromadmin\class-ballot-ajax.php:122
filterwp_mail_from_nameadmin\class-ballot-ajax.php:126
filterwp_mail_content_typeadmin\class-ballot-ajax.php:218
filterwp_mail_fromadmin\class-ballot-ajax.php:222
filterwp_mail_from_nameadmin\class-ballot-ajax.php:226
filterwp_mail_content_typeadmin\class-ballot-ajax.php:302
filterwp_mail_fromadmin\class-ballot-ajax.php:306
filterwp_mail_from_nameadmin\class-ballot-ajax.php:310
filtertitle_save_preadmin\class-wp-vote-ballot-admin.php:19
filterpost_date_column_statusadmin\class-wp-vote-ballot-admin.php:21
filtermanage_posts_columnsadmin\class-wp-vote-ballot-admin.php:23
actionmanage_posts_custom_columnadmin\class-wp-vote-ballot-admin.php:24
filtercmb2_initincludes\class-abstract-post-type.php:27
actioninitincludes\class-ballot.php:51
actioncmb2_admin_initincludes\class-ballot.php:52
actionpost_submitbox_minor_actionsincludes\class-ballot.php:55
actionpost_submitbox_startincludes\class-ballot.php:56
actionenter_title_hereincludes\class-ballot.php:58
actionsave_postincludes\class-ballot.php:61
filterget_sample_permalink_htmlincludes\class-ballot.php:63
filterpost_updated_messagesincludes\class-ballot.php:65
actionwpincludes\class-ballot.php:67
filterpost_row_actionsincludes\class-ballot.php:75
filterpost_row_actionsincludes\class-ballot.php:77
actionadmin_action_wp_vote_clone_post_as_draftincludes\class-ballot.php:78
filtergettextincludes\class-ballot.php:85
filterwp_mail_content_typeincludes\class-ballot.php:1341
filterwp_mail_fromincludes\class-ballot.php:1345
filterwp_mail_from_nameincludes\class-ballot.php:1349
filterwp_mail_content_typeincludes\class-ballot.php:1664
filterwp_mail_fromincludes\class-ballot.php:1668
filterwp_mail_from_nameincludes\class-ballot.php:1672
actionadmin_initincludes\class-settings.php:73
actionadmin_menuincludes\class-settings.php:75
actioninitincludes\class-voter.php:24
actioncmb2_admin_initincludes\class-voter.php:25
actionadmin_headincludes\class-voter.php:27
actionadmin_headincludes\class-voter.php:28
filterpost_row_actionsincludes\class-voter.php:29
filterpost_updated_messagesincludes\class-voter.php:33
filtergettextincludes\class-voter.php:38
filterwp_mail_fromincludes\class-voter.php:364
filterwp_mail_from_nameincludes\class-voter.php:365
filterplugins_loadedincludes\class-wp-vote.php:171
filterplugins_loadedincludes\class-wp-vote.php:172
filterinitincludes\class-wp-vote.php:178
filterinitincludes\class-wp-vote.php:183
filteradmin_noticesincludes\class-wp-vote.php:186
actionplugins_loadedincludes\class-wp-vote.php:277
actionadmin_enqueue_scriptsincludes\class-wp-vote.php:290
actionadmin_enqueue_scriptsincludes\class-wp-vote.php:291
actionadmin_menuincludes\class-wp-vote.php:293
actionadmin_initincludes\class-wp-vote.php:295
actionwp_enqueue_stylesincludes\class-wp-vote.php:337
actionwp_enqueue_scriptsincludes\class-wp-vote.php:338
filterwp-vote_is_allowed_to_votepublic\class-template-actions.php:23
filterwp-vote_is_allowed_to_see_questionpublic\class-template-actions.php:24
actiontemplate_redirectpublic\class-template-actions.php:27
actionwp_vote_before_main_contentpublic\class-template-actions.php:29
actionwp_vote_after_main_contentpublic\class-template-actions.php:30
actionwp-vote_before_single_ballot_looppublic\class-template-actions.php:33
actionwp-vote_before_single_ballot_looppublic\class-template-actions.php:34
actionwp-vote_before_single_ballot_looppublic\class-template-actions.php:36
actionwp-vote_before_single_ballot_looppublic\class-template-actions.php:37
actionwp-vote_after_single_ballot_looppublic\class-template-actions.php:38
actionwp_vote_before_ballots_looppublic\class-template-actions.php:42
actionwp_vote_before_ballots_looppublic\class-template-actions.php:43
actionwp_vote_ballot_loop_item_titlepublic\class-template-actions.php:46
actionwp-vote_after_ballots_looppublic\class-template-actions.php:49
filtertemplate_includepublic\class-template-loader.php:29
actionwp_enqueue_scriptspublic\class-template-loader.php:49
actionwp_enqueue_scriptspublic\class-template-loader.php:56
filterquery_varspublic\class-wp-vote-public.php:42
actioninitpublic\class-wp-vote-public.php:43
actioninitpublic\class-wp-vote-public.php:46
filterwp-vote_register_question_typesquestion-types\class-abstract-question-object.php:75
filterwp-vote_register_voter_typesvoter-types\class-abstract-voter-object.php:109
filterenter_title_herevoter-types\class-abstract-voter-object.php:113
Maintenance & Trust

WP Vote Lite Maintenance & Trust

Maintenance Signals

WordPress version tested4.9.29
Last updatedUnknown
PHP min version
Downloads3K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

WP Vote Lite Developer Profile

Paul Bearne

6 plugins · 5K total installs

91
trust score
Avg Security Score
95/100
Avg Patch Time
22 days
View full developer profile
Detection Fingerprints

How We Detect WP Vote Lite

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-vote/admin/css/wp-vote-admin.css/wp-content/plugins/wp-vote/admin/js/wp-vote-admin.js
Script Paths
/wp-content/plugins/wp-vote/admin/js/wp-vote-admin.js
Version Parameters
?ver=1.2.0

HTML / DOM Fingerprints

HTML Comments
<!-- This function is provided for demonstration purposes only. --><!-- An instance of this class should be passed to the run() function --><!-- defined in WP_Vote_Loader as all of the hooks are defined --><!-- in that particular class. -->+3 more
Data Attributes
name="wp_vote_question_type"name="wp_vote_question_name"name="wp_vote_question_choices"name="wp_vote_question_answer"name="wp_vote_question_order"name="wp_vote_test_email"+7 more
JS Globals
WP_Votevoter_typesAbstract_Question_Object
FAQ

Frequently Asked Questions about WP Vote Lite