
WP Voting Contest Lite Security & Risk Analysis
wordpress.org/plugins/wp-voting-contestLet users cast votes on your images/photos.
Is WP Voting Contest Lite Safe to Use in 2026?
High Risk
Score 47/100WP Voting Contest Lite carries significant security risk with 3 known CVEs, 2 still unpatched. Consider switching to a maintained alternative.
The wp-voting-contest plugin version 5.8 exhibits a concerning security posture despite some positive indicators. While the use of prepared statements for all SQL queries and a high percentage of properly escaped output are commendable, these strengths are overshadowed by significant weaknesses. The plugin has a large attack surface, with 25 out of 29 entry points (REST API routes) lacking any permission callbacks, leaving them entirely unprotected. This is a critical flaw that could allow unauthorized users to interact with sensitive plugin functionalities.
The vulnerability history further amplifies these concerns. With 3 known CVEs, 2 of which remain unpatched, and a recent vulnerability in August 2025, the plugin has a pattern of security issues. The common vulnerability types of Missing Authorization and Cross-Site Scripting, which align with the identified lack of authorization checks on REST API routes, suggest recurring security design flaws. The presence of a single unsanitized path in the taint analysis, even if not classified as critical or high, is also a point of concern, as it can be a vector for attacks.
In conclusion, while the plugin demonstrates good practices in data handling with prepared SQL and output escaping, the extensive unprotected attack surface and a history of unpatched vulnerabilities, particularly related to authorization, make it a high-risk component. Users should exercise extreme caution and prioritize patching or migrating away from this plugin.
Key Concerns
- Unprotected REST API routes
- Unpatched CVEs
- Missing Nonce checks
- Missing Capability checks
- Flows with unsanitized paths
WP Voting Contest Lite Security Vulnerabilities
CVEs by Year
Severity Breakdown
3 total CVEs
Voting Contest <= 5.8 - Missing Authorization
WP Voting Contest <= 5.8 - Authenticated (Editor+) Stored Cross-Site Scripting
WP Voting Contest < 3.0 - Reflected Cross-Site Scripting
WP Voting Contest Lite Code Analysis
SQL Query Safety
Output Escaping
Data Flow Analysis
WP Voting Contest Lite Attack Surface
REST API Routes 25
Shortcodes 4
WordPress Hooks 49
Maintenance & Trust
WP Voting Contest Lite Maintenance & Trust
Maintenance Signals
Community Trust
WP Voting Contest Lite Alternatives
Tribulant Gallery Voting
gallery-voting
Let users cast votes/likes on your WordPress gallery images/photos.
Voting for a Photo
voting-for-a-photo
Adding a photo vote to the WordPress Gallery
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe
contest-gallery
JPG, PNG, MP4, MP3, PDF, ZIP & more. Create voting & uploading galleries for photos & media. Social Share, User Registration & Sell via PayPal/Stripe.
Photo Contest | Competition | Video Contest
totalcontest-lite
If you're looking to host a contest or competition on your WordPress website, TotalContest is the perfect plugin for you.
Smash Balloon Social Photo Feed – Easy Social Feeds Plugin
instagram-feed
Formerly "Instagram Feed". Display clean, customizable, and responsive Instagram feeds from multiple accounts. Supports Instagram oEmbeds.
WP Voting Contest Lite Developer Profile
1 plugin · 500 total installs
How We Detect WP Voting Contest Lite
Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.
Asset Fingerprints
/wp-content/plugins/wp-voting-contest/admin/css/wpvc-admin-styles.css/wp-content/plugins/wp-voting-contest/admin/css/wpvc-form-styles.css/wp-content/plugins/wp-voting-contest/admin/js/wpvc-admin-scripts.js/wp-content/plugins/wp-voting-contest/admin/js/wpvc-form-scripts.js/wp-content/plugins/wp-voting-contest/public/css/wpvc-public-styles.css/wp-content/plugins/wp-voting-contest/public/css/wpvc-gallery-styles.css/wp-content/plugins/wp-voting-contest/public/js/wpvc-public-scripts.js/wp-content/plugins/wp-voting-contest/public/js/wpvc-gallery-scripts.js/wp-content/plugins/wp-voting-contest/admin/js/wpvc-admin-scripts.js/wp-content/plugins/wp-voting-contest/admin/js/wpvc-form-scripts.js/wp-content/plugins/wp-voting-contest/public/js/wpvc-public-scripts.js/wp-content/plugins/wp-voting-contest/public/js/wpvc-gallery-scripts.jswp-voting-contest/admin/css/wpvc-admin-styles.css?ver=wp-voting-contest/admin/css/wpvc-form-styles.css?ver=wp-voting-contest/admin/js/wpvc-admin-scripts.js?ver=wp-voting-contest/admin/js/wpvc-form-scripts.js?ver=wp-voting-contest/public/css/wpvc-public-styles.css?ver=wp-voting-contest/public/css/wpvc-gallery-styles.css?ver=wp-voting-contest/public/js/wpvc-public-scripts.js?ver=wp-voting-contest/public/js/wpvc-gallery-scripts.js?ver=HTML / DOM Fingerprints
wpvc_contestants_sec_sidebarwpvc_contestests_sidebarwpvc_voting_form_fieldwpvc_contestant_imagewpvc_contestant_namewpvc_contestant_voteswpvc_voting_buttonwpvc_gallery_item+3 moredata-contestant-iddata-contest-iddata-voting-noncewpvc_voting_ajax_objectwpvc_voting_public_script_varswpvc_voting_gallery_script_vars[wpvotingcontest]