Radar sectionsDatabase
Check my site
WordPress plugin

Contest Gallery <= 30.0.2 — Authenticated (Author+) Privilege Escalation via 'RegistryUserRole' Parameter

CVE-2026-12165Published · Updated

Action summary

Affected: ≤30.0.2Update to 30.0.3 or newer

All remediation steps
Severity
High8.8
CVSS
8.8
CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
What does this vector mean?
AV:N Attack vector
Network
AC:L Attack complexity
Low
PR:L Privileges required
Low
UI:N User interaction
None
S:U Scope
Unchanged
C:H Confidentiality
High
I:H Integrity
High
A:H Availability
High
Weakness
CWE-269 Privilege Escalation
Required access
Unknown
Exploit prediction (EPSS)
No score
CISA KEV
Not listed

Am I affected?

Contest Gallery Commerce – Upload, Vote & Sell with PayPal & Stripe contest-gallery

  1. Affected≤ 30.0.2
  2. Patched in30.0.3

Update to 30.0.3 or newer.

You are affected if you run ≤ 30.0.2. Version 30.0.3 and later are not affected by this issue.

  • Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under Contest Gallery Commerce – Upload, Vote & Sell with PayPal & Stripe.
  • No admin access? Run a passive check of your site. It reads public files only.

What to do

  1. Update to version 30.0.3, or a newer patched version
  2. Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
  3. Watch Contest Gallery Commerce – Upload, Vote & Sell with PayPal & Stripe to get an email when the next vulnerability is published.

Advisory

Source description from Wordfence Intelligence, credited to Chloe Chamberland, Wordfence PRISM.

The Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 30.0.2 via the `RegistryUserRole` parameter. This is due to the plugin's admin menu being registered at the `edit_posts` capability level — granting Contributor-level users access to the plugin's admin pages and a valid `cg_admin` nonce — while the option-saving handler in `change-options-and-sizes.php` performs no `current_user_can()` capability check beyond `check_admin_referer('cg_admin')`, and the `RegistryUserRole` value is processed only through `sanitize_text_field()` and `htmlentities()` without restriction to an allowlist of permitted role names. This makes it possible for authenticated attackers, with author-level access and above, to overwrite the plugin's stored `RegistryUserRole` option with `administrator`, which the `cg_create_wp_user_from_google_user` function then reads back from the `contest_gal1ery_registry_and_login_options` database table without any allowlist validation and passes directly to `wp_update_user()`, effectively promoting a newly registered Google sign-in account to Administrator.

Exploits & references

Proof-of-concept & detection

No public proof-of-concept or detection template is known for this vulnerability.

Advisories & patches

More in Contest Gallery Commerce – Upload, Vote & Sell with PayPal & Stripe

All 70
More vulnerabilities in Contest Gallery Commerce – Upload, Vote & Sell with PayPal & Stripe
SeverityVulnerabilityCVEPublished
High8.8Authenticated (Author+) Arbitrary File Upload
<34.0.3Update to 34.0.3
CVE-2026-118041
Medium5.3Missing Authorization
<34.0.1Update to 34.0.1
CVE-2026-107447
Medium6.4Authenticated (Subscriber+) Stored Cross-Site Scripting
≤34.0.1Update to 34.0.2
CVE-2026-111837
Medium5.3Unauthenticated Unauthorized Account Activation
≤33.0.0Update to 33.0.1
CVE-2026-107120
High8.8Unauthenticated Arbitrary File Upload via 'baseUrlForFacebook' Parameter
≤32.0.1Update to 33.0.0
CVE-2026-78088

Same weakness (Privilege Escalation)

All Privilege Escalation
Other Privilege Escalation vulnerabilities
SeverityVulnerabilityCVEPublished
High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent HeaderCVE-2026-120688
Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form SubmissionCVE-2026-125055
Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' ParameterCVE-2026-119077
Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce≤5.127.0Update to 5.128.0
CVE-2026-121518

Timeline

  1. CVE published

    Severity high, CVSS 8.8

  2. Record last updated

Sources & licenses

Wordfence record
Vulnerability data
Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
CVE® identifiers
[object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
CVSS / CWE
National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
VulnCrest content
Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.

How we use these sources

Search VulnCrest Radar

Are you sure?