
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Security & Risk Analysis
wordpress.org/plugins/contest-galleryJPG, PNG, MP4, MP3, PDF, ZIP & more. Create voting & uploading galleries for photos & media. Social Share, User Registration & Sell via PayPal/Stripe.
Is Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Safe to Use in 2026?
Mostly Safe
Score 76/100Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe is generally safe to use. 36 past CVEs were resolved. Keep it updated.
The Contest Gallery plugin v28.1.5 presents a significantly high security risk due to a large attack surface with a substantial number of unprotected AJAX handlers. The static analysis reveals that 79 out of 80 AJAX handlers lack proper authentication checks, creating a wide entry point for potential abuse. Furthermore, the plugin exhibits concerning code quality signals, with a high volume of dangerous function usage (specifically `unserialize`) and a very low percentage of properly escaped outputs. The taint analysis highlights this, with a high number of flows containing unsanitized paths, 42 of which are classified as high severity. This combination of unprotected entry points and insecure code practices strongly suggests a high likelihood of exploitable vulnerabilities.
The plugin's vulnerability history is alarming, with 33 known CVEs, including 5 critical and 6 high-severity issues. The prevalence of common vulnerability types such as Missing Authorization, CSRF, XSS, and SQL Injection further corroborates the identified code quality concerns. While there are currently no unpatched vulnerabilities, the sheer number and severity of past issues, coupled with the ongoing code-level risks, indicate a pattern of recurring security weaknesses. The last reported vulnerability in 2026 also suggests potential issues with timely security patching.
In conclusion, the Contest Gallery plugin v28.1.5 has a poor security posture. The extensive unprotected attack surface, numerous dangerous code patterns, and a troubling history of critical and high-severity vulnerabilities make it a high-risk plugin. While the use of prepared statements for SQL is a positive signal, it is heavily overshadowed by the multitude of critical security flaws and insecure coding practices.
Key Concerns
- Large attack surface without auth checks
- High count of dangerous function calls (unserialize)
- Low percentage of properly escaped outputs
- High number of flows with unsanitized paths
- High severity taint flows
- Numerous past critical vulnerabilities
- Numerous past high vulnerabilities
- Common vulnerability types (Auth, CSRF, XSS, SQLi)
- Low number of nonce checks
- Low number of capability checks
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Security Vulnerabilities
CVEs by Year
Severity Breakdown
36 total CVEs
Contest Gallery <= 28.1.5 - Unauthenticated Privilege Escalation Admin Account Takeover via Registration Confirmation Email-to-ID Type Confusion
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe <= 28.1.2.2 - Missing Authorization
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe <= 28.1.2.1 - Authenticated (Subscriber+) Server-Side Request Forgery
Contest Gallery <= 28.1.4 - Unauthenticated SQL Injection
Contest Gallery <= 28.1.1 - Missing Authorization
Contest Gallery <= 28.0.2 - Missing Authorization
Contest Gallery <= 28.0.0 - Cross-Site Request Forgery
Contest Gallery – Upload, Vote & Sell with PayPal and Stripe <= 27.0.3 - Unauthenticated CSV Injection
Contest Gallery – Upload, Vote & Sell with PayPal and Stripe <= 27.0.2 - Authenticated (Author+) Stored Cross-Site Scripting
Photos, Files, YouTube, Twitter, Instagram, TikTok, Ecommerce Contest Gallery – Upload, Vote, Sell via PayPal or Stripe, Social Share Buttons, OpenAI <= 26.1.0 - Unauthenticated Stored Cross-Site Scripting
Contest Gallery <= 26.0.6 - Reflected Cross-Site Scripting
Contest Gallery <= 26.0.8 - Authenticated (Author+) Stored Cross-Site Scripting
Contest Gallery <= 26.0.6 - Authenticated (Contributor+) Stored Cross-Site Scripting via id Parameter
Photos, Files, YouTube, Twitter, Instagram, TikTok, Ecommerce Contest Gallery – Upload, Vote, Sell via PayPal, Social Share Buttons <= 26.0.0.1 - Unauthenticated Stored Cross-Site Scripting
Contest Gallery <= 25.1.0 - Authenticated (Author+) SQL Injection
Contest Gallery <= 24.0.3 - Authenticated (Author+) Stored Cross-Site Scripting
Contest Gallery <= 24.0.7 - Unauthenticated Arbitrary Password Reset to Privilege Escalation/Account Takeover
Photos, Files, YouTube, Twitter, Instagram, TikTok, Ecommerce Contest Gallery – Upload, Vote, Sell via PayPal, Social Share Buttons <= 24.0.3 - Unauthenticated SQL Injection
Contest Gallery <= 23.1.2 - Unauthenticated Information Exposure
Contest Gallery <= 23.1.2 - Unauthenticated Stored Cross-Site Scripting
Contest Gallery <= 21.3.4 - Authenticated (Author+) Arbitrary File Deletion
Contest Gallery <= 21.3.5 - Reflected Cross-Site Scripting
Photos and Files Contest Gallery <= 21.3.2 - Authenticated (Contributor+) SQL Injection
Photos and Files Contest Gallery <= 21.3.4 - Authenticated (Contributor+) SQL Injection
Photos and Files Contest Gallery – Contact Form, Upload Form, Social Share and Voting Competition Plugin for WordPress <= 21.3.0 - Authenticated (Author+) Stored Cross-Site Scripting
Contest Gallery <= 21.2.8.4 - Cross-Site Request Forgery
Contest Gallery <= 21.2.8.4 - Cross-Site Request Forgery
Contest Gallery < 21.2.8.1 - Unauthenticated Stored Cross-Site Scripting via headers
Contest Gallery <= 21.1.2 - Reflected Cross-Site Scripting
Contest Gallery <= 13.1.0.9 - Cross-Site Scripting
Contest Gallery <= 17.0.4 - Authenticated (Author+) SQL Injection
Contest Gallery – Files Upload and Contest Plugin for WordPress <= 17.0.4 - Admin+ SQL Injection
Contest Gallery – Photo Contest Plugin for WordPress <= 13.1.0.5 - SQL Injection
Contest Gallery <= 13.1.0.9 - Authenticated (Author+) Stored Cross-Site Scripting
Contest Gallery < 13.1.0.7 - Authenticated Email Address Disclosure
Contest Gallery – Photo Contest Plugin for WordPress <= 10.4.4 - Cross-Site Request Forgery
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Code Analysis
Dangerous Functions Found
Bundled Libraries
SQL Query Safety
Output Escaping
Data Flow Analysis
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Attack Surface
AJAX Handlers 80
Shortcodes 18
WordPress Hooks 99
Maintenance & Trust
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Maintenance & Trust
Maintenance Signals
Community Trust
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Alternatives
Voting for a Photo
voting-for-a-photo
Adding a photo vote to the WordPress Gallery
Giveaways and Contests by RafflePress – Get More Website Traffic, Email Subscribers, and Social Followers
rafflepress
The best WordPress giveaway plugin. Grow your email list, website traffic, and social media followers with viral contests, giveaways, and sweepstakes.
Simple Giveaways – Grow your business, email lists and traffic with contests
giveasap
Create a Simple Giveaway or Giveaways and grow your email list. Embed them in a post or in a sidebar to increase the conversion.
WP Voting Contest Lite
wp-voting-contest
Let users cast votes on your images/photos.
Tribulant Gallery Voting
gallery-voting
Let users cast votes/likes on your WordPress gallery images/photos.
Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe Developer Profile
1 plugin · 1K total installs
How We Detect Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe
Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.
Asset Fingerprints
/wp-content/plugins/contest-gallery/v10/v10-js//wp-content/plugins/contest-gallery/functions/general/mail//wp-content/plugins/contest-gallery/functions/general/option//wp-content/plugins/contest-gallery/functions/general//wp-content/plugins/contest-gallery/functions/frontend//wp-content/plugins/contest-gallery/functions/google//wp-content/plugins/contest-gallery/functions/general/registry//wp-content/plugins/contest-gallery/functions/general/registry/create/+5 morecontest-gallery/style.css?ver=contest-gallery/v10/v10-js/v10-main.js?ver=HTML / DOM Fingerprints
cg_gallerycontest_gallerycg_vote_buttonscg_winner_entries<!-- This is a custom template for the contest galleries. If you would like to customize it, please copy this file and put it in your themes directory. --><!-- Add image and content for the contest gallery. --><!-- You can add more fields below. --><!-- Voting is now enabled! -->+2 moredata-cg-gallery-iddata-cg-entry-iddata-cg-vote-idcg_vote_button_idcontest_gallery_datacg_ajax_objectcg_vote_noncecg_gallery_idcg_entry_id/wp-json/contest-gallery/v1/vote//wp-json/contest-gallery/v1/submit//wp-json/contest-gallery/v1/comment/[contest-gallery][contest-gallery-gallery-id id=""][contest-gallery-entries][contest-gallery-user-entries]