
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 Release Timeline
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]