Invoice Generator <= 1.0.0 - Unauthenticated Account Takeover via Weak Password Reset Validation via 'reset_user_id' Parameter
Strategic Overview
- Status
- Unpatched
- Affected Plugin
- Invoice Generator
- Affected Version
<= 1.0.0- CVSS
- 9.8Critical
- Weakness type
- CWE-640 · Weak Password Recovery Mechanism for Forgotten Password
- CVE
CVE-2026-12416
At a glance
CVE-2026-12416 is a critical-severity Weak Password Recovery Mechanism for Forgotten Password vulnerability in the Invoice Generator WordPress plugin, affecting versions <= 1.0.0. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. No fixed release has been reported yet; treat installations running this software as exposed. Disclosed June 2026, reported by Alyudin Nafiie.
Vulnerability Overview
The Invoice Generator plugin for WordPress is vulnerable to Account Takeover via Password Reset in all versions up to, and including, 1.0.0. This is due to the `pravel_invoice_change_password()` function being registered as a nopriv AJAX handler with no nonce verification and no authorization check, and performing a loose equality comparison between the supplied `reset_activation_code` POST parameter and the target user's stored `forgot_email` user meta — a check that trivially evaluates to true (`'' == ''`) for any user who has never initiated a forgot-password request, which applies to administrators under normal conditions. This makes it possible for unauthenticated attackers to supply an arbitrary user ID via the `reset_user_id` POST parameter, bypass the activation code check entirely by omitting `reset_activation_code`, and set the target account's password to an attacker-chosen value, enabling full takeover of any account on the site, including administrator accounts.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-640: Weak Password Recovery Mechanism for Forgotten Password
Invoice Generator <= 1.0.0 carries this weakness at pravel_invoice_change_password(), and reaching it takes no account at all. A weak password recovery mechanism means the path that lets someone back into an account without their password is easier to complete than the password itself.
An attacker takes over an account through the recovery flow without ever seeing the password, and on an administrator account that is full control of the site. No fixed build of this plugin is recorded for Invoice Generator yet, so installs running <= 1.0.0 stay exposed until the vendor ships one.
Remediation
No known patch available. Please review the vulnerability's details in depth and employ mitigations based on your organization's risk tolerance. It may be best to uninstall the affected software and find a replacement.
How does WordSec protect against this?
This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. No patched version is recorded yet, which is the case where a filtering layer matters most, because there is nothing to update to.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Invoice Generator
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C