CVE-2026-12165
Last modified
CVE-2026-12165 is a high-severity vulnerability rated 8.8/10 on the CVSS scale. 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. EPSS estimates a 0.41% chance of exploitation in the next 30 days.
Description
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.
Metrics
Weakness Enumeration
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-12165?
How severe is CVE-2026-12165?
How do I fix CVE-2026-12165?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-121636The Quick Event Manager WordPress plugin before 9.19 does no…5.3
- CVE-2026-121637An improper integrity validation vulnerability in WatchGuard…8.9
- CVE-2026-121638An Improper Certificate Validation vulnerability in WatchGua…9.1
- CVE-2026-121639A Missing Authentication for Critical Function vulnerability…9.2
- CVE-2026-12164Fortra File Integrity Monitoring (FIM), formerly Tripwire En…4.4
- CVE-2026-121640An Authentication Bypass by Capture-replay vulnerability in …9.1
- CVE-2026-121652Cross-site scripting (XSS) issue in AWS Amplify maplibre-gl-…5.4
- CVE-2026-121653SQL injection in the Core of Ivanti Endpoint Manager before …9.8
- CVE-2026-12166A NULL pointer dereference vulnerability for driver `GFAC_Sy…5.5
- CVE-2026-121660Incomplete list of disallowed inputs in Visual Studio Code a…7.5
- CVE-2026-121661Incomplete list of disallowed inputs in Visual Studio Code a…7.8
- CVE-2026-121662Improper neutralization of special elements used in a comman…8.6
Are you affected by CVE-2026-12165?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
