Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
UnratedPublic exploit

Authentication Bypass and Account Takeover in SignUp & SignIn WordPress Plugin

IdentifiersCVE-2026-12417CWE-640

CVE-2026-12417 affects the SignUp & SignIn plugin for WordPress in versions up to and including 1.0.0. The vulnerability is in the unauthenticated AJAX password-change handler pravel_change_password(), exposed through wp_ajax_nopriv_pravel_change_password. The handler performs no nonce verification and no capability check, and it validates password reset state using only a weak comparison between the attacker-controlled reset_activation_code POST parameter and the target user’s forgot_email user meta value. When the target user has never initiated a password reset, the relevant user meta may be an empty string, allowing an omitted or empty attacker-supplied reset code to satisfy the check. An unauthenticated attacker can send a crafted POST request to admin-ajax.php with action=pravel_change_password, reset_user_id set to the victim’s user ID, and new_password_custom set to an attacker-chosen password, thereby resetting the victim’s password without authorization.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows an unauthenticated remote attacker to change the password of any WordPress user on the affected site, including administrator accounts. This results in full account takeover of the targeted user and, when an administrator account is targeted, administrator-level privilege escalation and complete compromise of the WordPress site’s administrative control plane.

Mitigation

If you can’t patch tonight, do this now.

No vendor workaround is provided in the supplied content. Until a fix is available, disable or uninstall the vulnerable SignUp & SignIn plugin. Where operationally feasible, restrict exposure of affected WordPress instances and monitor for suspicious POST requests to admin-ajax.php using action=pravel_change_password, especially requests containing reset_user_id and new_password_custom. Review user accounts for unauthorized password changes.

Remediation

Patch, then assume compromise.

Update the SignUp & SignIn plugin to a fixed version once one is made available. The provided advisory states that versions up to and including 1.0.0 are vulnerable. If no patched release is available, remove or disable the plugin to eliminate exposure.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
CVE-2026-12416-CVE-2026-12417MaturityPoCVerified exploit

This repository is a small standalone Python exploit/scanner for two WordPress plugin vulnerabilities: CVE-2026-12416 in Invoice Generator <= 1.0.0 and CVE-2026-12417 in SignUp & SignIn <= 1.0.0. The repository contains one main code file, a README describing the vulnerabilities and workflow, and a custom license. The Python script is the operational entry point and implements concurrent mass scanning against a list of target WordPress sites. Core exploit capability: the script abuses unauthenticated WordPress AJAX handlers exposed through /wp-admin/admin-ajax.php using the actions pravel_change_password and pravel_invoice_change_password. It submits reset_user_id, an attacker-chosen new_password_custom value, and an empty reset_activation_code to trigger arbitrary password resets for guessed user IDs. The hardcoded replacement password is Nxploited@123KSa. Operational flow: for each target, the script first probes likely user IDs (1 and 2), then optionally expands to IDs 3 through 20 if needed. After a successful reset indication (matching the success string '"activation":true'), it attempts to determine the corresponding username using WordPress REST API endpoints and author enumeration techniques, then logs in through /wp-login.php. It confirms administrator access by requesting /wp-admin/users.php and checking whether the session has sufficient privileges. Confirmed admin compromises are written to scan_results/pravel_admin_success.txt. Repository structure is simple and purpose-built for exploitation rather than detection. It includes threading support via ThreadPoolExecutor for mass scanning, randomized User-Agent selection, timeout tuning, console output formatting with rich, and synchronized file/result handling. This is a real exploit with post-exploitation validation logic, not merely a detector or README-only proof of concept.

NxploitedDisclosed Jun 24, 2026pythonmarkdownwebnetwork
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity6

Community discussion across Reddit, Mastodon, and other social sources.