Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

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

Quick assessment

Affected
contest-gallery Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

contest-gallery contest gallery是contest-gallery个人开发者开源的一个创建和管理竞赛图片展示的插件。 contest gallery 30.0.2及之前版本存在权限许可和访问控制问题漏洞,该漏洞源于通过 参数存在权限提升, 中选项保存处理程序未进行充分的权限检查,且对 值的处理仅限于 和`htm

CVSS 8.8 · High EPSS 0.40% · P31

Affected Version Matrix 1

Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-12165

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Contest Gallery <= 30.0.2 - Authenticated (Author+) Privilege Escalation via 'RegistryUserRole' Parameter
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
特权管理不恰当
Source: CVE Program / CVE List V5
Vulnerability Title
contest gallery 权限许可和访问控制问题漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
contest-gallery contest gallery是contest-gallery个人开发者开源的一个创建和管理竞赛图片展示的插件。 contest gallery 30.0.2及之前版本存在权限许可和访问控制问题漏洞,该漏洞源于通过`RegistryUserRole`参数存在权限提升,`change-options-and-sizes.php`中选项保存处理程序未进行充分的权限检查,且对`RegistryUserRole`值的处理仅限于`sanitize_text_field()`和`htm
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
contest-gallery Contest Gallery – Upload & Vote Photos, Media, Sell with PayPal & Stripe 0 ~ 30.0.2 -

II. Public POCs for CVE-2026-12165

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-12165

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-12165 (1)

News Coverage for CVE-2026-12165 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-12165

No comments yet


Leave a comment