{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-4021 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-4021 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-4021 is a high-severity authentication bypass vulnerability in contest-gallery Contest Gallery – Upload \u0026 Vote Photos, Media, Sell with PayPal \u0026 Stripe, published on 23 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-4021 and fix it if it is affected.\n\nWhat it is: CVE-2026-4021 is a high-severity authentication bypass vulnerability in contest-gallery Contest Gallery – Upload \u0026 Vote Photos, Media, Sell with PayPal \u0026 Stripe, published on 23 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-4021 in the wild and no public exploit code.\n\nAffected product: contest-gallery Contest Gallery – Upload \u0026 Vote Photos, Media, Sell with PayPal \u0026 Stripe. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-4021/ (Markdown: https://insights.sbomify.com/CVE-2026-4021/index.md)","id":"CVE-2026-4021","markdown":"https://insights.sbomify.com/CVE-2026-4021/index.md","name":"CVE-2026-4021","record":{"aliases":["GHSA-m4rm-grq4-j8wp"],"analysis":{"component_type":"cms_plugin","fix_type":"upgrade","impacts":["account_takeover","privilege_escalation"],"network_reachable":"yes","non_default_config":true,"product_category":"WordPress plugin","requires_auth":"none","summary":"Unauthenticated attackers can take over admin accounts via type confusion in email confirmation when optional registration settings are enabled.","user_interaction":"not_required","vuln_class":"auth_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Wordfence","cpe":[],"cvss":{"score":8.1,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-287","name":"Improper Authentication"}],"description":"The Contest Gallery plugin for WordPress is vulnerable to an authentication bypass leading to admin account takeover in all versions up to, and including, 28.1.5. This is due to the email confirmation handler in `users-registry-check-after-email-or-pin-confirmation.php` using the user's email string in a `WHERE ID = %s` clause instead of the numeric user ID, combined with an unauthenticated key-based login endpoint in `ajax-functions-frontend.php`. When the non-default `RegMailOptional=1` setting is enabled, an attacker can register with a crafted email starting with the target user ID (e.g., `1poc@example.test`), trigger the confirmation flow to overwrite the admin's `user_activation_key` via MySQL integer coercion, and then use the `post_cg1l_login_user_by_key` AJAX action to authenticate as the admin without any credentials. This makes it possible for unauthenticated attackers to take over any WordPress administrator account and gain full site control.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":null,"headline":"Auth bypass in Contest Gallery – Upload \u0026 Vote Photos, Media, Sell with PayPal \u0026 Stripe","id":"CVE-2026-4021","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"auth_bypass","year":"2026"},"n_packages":0,"n_references":6,"next":{"headline":"Show Posts list \u003c= 1.1.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode","id":"CVE-2026-4022"},"packages":[],"prev":{"headline":"Gravity SMTP \u003c= 2.1.4 - Unauthenticated Sensitive Information Exposure via REST API","id":"CVE-2026-4020"},"products":["Contest Gallery – Upload \u0026 Vote Photos, Media, Sell with PayPal \u0026 Stripe"],"published":"2026-03-23","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-04-08","vendors":["contest-gallery"]},"summary":"Unauthenticated attackers can take over admin accounts via type confusion in email confirmation when optional registration settings are enabled.","url":"https://insights.sbomify.com/CVE-2026-4021/"}