CVE-2025-3862

Published
View on NVD ↗
CVSS v3
6.4
MEDIUM
CVSS v2
N/A
Affected
1
PROJECT

Description

Contest Gallery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘id’ parameter in all versions up to, and including, 26.0.6 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

<p>JPG, PNG, MP4, MP3, PDF, ZIP &amp; more. Create voting &amp; uploading galleries for photos &amp; media. Social Share, User Registration &amp; Sell via PayPal/Stripe.</p> <h3>All-in-One Photo Contest, Media Voting &amp; File Gallery</h3> <p>Photo contest and other file types voting plugin supporting: <strong>JPG, PNG, GIF, PDF, ZIP, WEBM, MP4, MOV, TXT, DOC, DOCX, XLS, XLSX, PPT, PPTX, CSV, MP3, WAV, OGG, M4A</strong>.</p> <p>Create galleries (material, modern, responsive) and allow users to vote and comment on files, photos, or embed social posts from <strong>YouTube, TikTok, X (Twitter)</strong> and more.</p> <h3>Real Watermark Protection</h3> <p>Protect your image entries with real watermarks that are written into the public image files. Contest Gallery keeps the original files safely protected from direct public access, so you can present, share and sell your images with more confidence.</p> <h3>Key Features</h3> <ul> <li><strong>Flexible Uploads:</strong> Create custom upload forms and add additional files to every entry.</li> <li><strong>Real Watermark Protection:</strong> Show watermarked public images while keeping the original files safely protected.</li> <li><strong>User Management:</strong> Includes user registration, login forms, and a <strong>&#8220;Google Sign-In button&#8221;</strong> for easy access.</li> <li><strong>Monetization:</strong> Sell entries or digital content directly via <strong>PayPal or Stripe API</strong>.</li> <li><strong>Social Reach:</strong> Built-in Social Media Share Buttons to boost your contest&#8217;s visibility.</li> </ul> <h3>Ecommerce PayPal and Stripe APIs available</h3> <ul> <li>Sell entries as <strong>shipping</strong>, <strong>download</strong> or <strong>service</strong>, or <strong>charge for uploads</strong>, <strong>via PayPal or Stripe API</strong>. Configure <strong>prices, shipping, taxes and currencies</strong> for your products. Configure checkout notes and agreements. <strong>Watermark image files, add download or service keys</strong>. Selling download or service and charging for uploads only available in PRO version.</li> </ul> <h3>Different file types upload form</h3> <ul> <li><strong>Upload form</strong> for <strong>different file types</strong></li> <li><strong>Manual or Auto-activation</strong>: Instantly display uploaded files in the gallery or review them first.</li> <li><a href="https://www.contest-gallery.com/different-file-types-upload-form-and-gallery/" rel="nofollow ugc">Different file types upload form and gallery example</a></li> </ul> <h3>PDFs with preview gallery</h3> <ul> <li>Display PDFs in gallery with a preview image for every PDF</li> <li>Create upload form with PDF preview image function</li> <li><strong>Imagick library</strong> is <strong>NOT required</strong> to be installed on your server</li> <li><a href="https://www.contest-gallery.com/pdfs-with-preview-gallery/" rel="nofollow ugc">PDFs with preview gallery and PDF upload form with preview example</a></li> </ul> <h3>Social Media Share Buttons</h3> <ul> <li>Facebook, WhatsApp, Twitter, Telegram, Skype, Pinterest, Reddit, XING, LinkedIn, Email, SMS, Gmail, Yahoo, Evernote, VK, OK, Douban, RenRen, Qzone, Weibu</li> <li><strong>Real Custom Post Type Pages behind every entry&#8230; so real social share URLs</strong></li> <li><a href="https://www.contest-gallery.com/social-share-buttons/" rel="nofollow ugc">Social share buttons example</a></li> </ul> <h3>Add YouTube / Twitter / Instagram / TikTok Posts</h3> <ul> <li>Combine different file types and social embed posts in same gallery</li> <li>Ask users for consent (GDPR) to show YouTube / Twitter / Instagram / TikTok entries option available.</li> <li><a href="https://www.contest-gallery.com/youtube-and-photos-gallery/" rel="nofollow ugc">YouTube and photos gallery example</a></li> <li><a href="https://www.contest-gallery.com/social-media-embeds-and-mixed-file-types-gallery/" rel="nofollow ugc">Social media embeds and mixed file types gallery</a></li> </ul> <h3>OpenAI</h3> <ul> <li>Create or edit images via OpenAI API</li> <li>Add created or edited images to your WordPress media library</li> </ul> <h3>External services</h3> <h4>Contest Gallery Network</h4> <p>Contest Gallery Network is an optional public gallery directory operated at https://www.contest-gallery.net/.</p> <p>The plugin contacts this service only when an administrator explicitly clicks &#8220;Publish to network&#8221; in the WordPress admin area and confirms the Contest Gallery Network privacy notice. After publishing, the listing is refreshed once daily by WordPress Cron while the plugin remains active. Administrators can remove the listing again with &#8220;Unpublish from Network&#8221;.</p> <p>Submitted data includes public website and gallery listing information: website title and URL, gallery title, gallery description, tags/categories, the selected public gallery URL, preview image URLs, and public activity numbers such as entries, votes and comments.</p> <p>The plugin does not submit IP addresses, email addresses, usernames, registration data, comment text, form field values or other private user data to Contest Gallery Network.</p> <p>Contest Gallery Network may verify domain ownership, review submitted public content and images for safety, and publish the listing only if it passes review. If the service does not receive updates for 14 days, the public listing can expire and be removed from the Network index.</p> <p>Service privacy policy: https://www.contest-gallery.net/privacy-policy/<br /> Service terms: https://www.contest-gallery.net/terms-and-conditions/</p> <h3>Plugin limitations</h3> <ul> <li><strong>Since 2019: No uploads limitation anymore</strong></li> <li><strong>(No 100 uploads limitation anymore)</strong></li> <li>Some options available in PRO version only</li> <li>To have all options available please purchase <a href="https://www.contest-gallery.com/pro-version/" rel="nofollow ugc">PRO version</a></li> </ul> <h3>Frontend video example</h3> <p><span class="embed-youtube" style="text-align:center; display: block;"><iframe loading="lazy" class="youtube-player" width="750" height="422" src="https://www.youtube.com/embed/Us-EYffJtcU?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></span></p> <h4>Upload form and gallery examples</h4> <ul> <li><a href="https://www.contest-gallery.com/different-file-types-upload-form-and-gallery/" rel="nofollow ugc">Different file types upload form and gallery</a></li> <li><a href="https://www.contest-gallery.com/multiple-photo-contests/" rel="nofollow ugc">Different galleries with different options on same page</a></li> <li><a href="https://www.contest-gallery.com/click-through-galleries-on-same-page/" rel="nofollow ugc">Click through galleries on same page</a></li> </ul> <h3>Amazing contest for your WordPress page</h3> <h4>Normal and registered user galleries</h4> <ul> <li>Display entries of all users</li> <li>User see only own entries which were uploaded by the user after registration and login</li> </ul> <h4>Three voting types</h4> <ul> <li>IP recognition</li> <li>Cookie recognition</li> <li>Login session based (<strong>create account via registration form or Google sign in button</strong> and login)</li> </ul> <h4>Drag &amp; Drop upload form creator</h4> <ul> <li>Add field types and arrange them</li> <li>Add e-mail field and allow to send confirmation e-mail</li> <li>Available field types: (Files Type, Input, Textarea, Select, Select Categories, Email, URL, Check agreement, HTML, Simple Captcha, Google reCAPTCHA)</li> <li>Configure subscription e-mail</li> </ul> <h4>Drag &amp; Drop user account registration form creator</h4> <ul> <li>Add field types and arrange them</li> <li>Available field types: (WP-Last-Name, WP-First-Name, WP-Username, WP-Nickname, WP-Email, WP-Password, WP-Password-Confirm, Input, Textarea, Select, Check agreement, Profile Image, HTML, Simple Captcha, Google reCAPTCHA)</li> <li>Allows membership as &#8220;Contest Gallery User&#8221; WordPress role</li> </ul> <h4>Create login area</h4> <ul> <li>Add login area to your website</li> <li>Allow voting only for registered users</li> </ul> <h4>Three e-mail types</h4> <ul> <li>Admin information e-mail when new file is uploaded</li> <li>Activation e-mail to user when his file is activated</li> <li>Registration confirmation e-mail when user create a new account</li> </ul> <h3>Available options</h3> <h4>Upload form options</h4> <ul> <li>Automatically activate user entries after successful frontend upload</li> <li>Allow only registered users to upload files or to upload you</li> <li>Restrict front end upload size</li> <li>Maximum upload size in MB</li> <li>Activate bulk upload in front end</li> <li>Maximum number of files for bulk upload</li> <li>Minimum number of files for bulk upload</li> <li>Restrict resolution uploaded images</li> <li>Activate in gallery upload form</li> <li>Forward to another page after upload</li> <li>Confirmation text after upload</li> <li>Inform admin e-mail after upload in frontend</li> <li>Inform entry activation e-mail</li> <li>Inform successful entry e-mail</li> </ul> <h4>Registration options</h4> <ul> <li>Confirmation text after registration</li> <li>Confirmation text after e-mail confirmation</li> <li>Confirmation mail options (Addressor, Reply mail, Subject, Email content)</li> </ul> <h4>Login options</h4> <ul> <li>Forward to another page after login</li> <li>Forward to URL</li> <li>Confirmation text on same site after login</li> <li>Confirmation Text after login</li> </ul> <h4>Vote options</h4> <ul> <li>Allow vote via 1 star</li> <li>Allow vote via 1-10 stars</li> <li>Inform registered user when there was a vote for his entry</li> <li>Show custom message after voting</li> <li>Allow vote out of gallery</li> <li>Hide voting until user voted</li> <li>Configure votes amount per user</li> <li>Show only user votes (user see only his votes not the whole rating)</li> <li>Votes in time interval per user</li> <li>Delete votes (frontend users can delete their votes and to another entry)</li> </ul> <h4>Commenting options</h4> <ul> <li>Allow comments</li> <li>Allow comment out of gallery</li> <li>Inform registered user when there was a comment for his entry</li> <li>Review written comments</li> <li>Remove written comments</li> </ul> <h4>Contest end options</h4> <ul> <li>End contest immediately</li> <li>Activate contest end time</li> </ul> <h4>Gallery view options</h4> <ul> <li>Show images EXIF data</li> <li>Add categories widget when categories field in upload form is added</li> <li>Allow full window gallery</li> <li>Number of files per screen (pagination)</li> <li>Allow search for files (search by fields content, categories or file name)</li> <li>Allow sort</li> <li>Random sort</li> <li>Random sort button</li> <li>Switch between total different gallery views without site reloading</li> <li>Three different views</li> <li>Masonry view</li> <li>Blog view</li> <li>Slider view</li> </ul> <h4>Single entry view options</h4> <ul> <li>View entries in blog view full window</li> <li>View entries in a slider view full window</li> <li>Link to original file source</li> <li>Only gallery view</li> </ul> <h4>Backend language</h4> <ul> <li>English</li> </ul> <h4>Frontend languages</h4> <ul> <li>English</li> <li>German</li> <li>Dutch</li> <li>Italian</li> <li>Spanish</li> <li>Portuguese</li> <li>French</li> <li>Polish</li> <li>Slovakian</li> <li>Norwegian (not complete)</li> <li>Swedish (not complete)</li> <li>Russian</li> <li>Chinese</li> <li><strong>Own translations can be added in backend</strong></li> </ul>
WordPress Plugin DirectoryWordPress Plugin Directory
393K