BugShield research
Link Invoice Payment for WooCommerce 2.13.2 email OTP account takeover
Published 20 Oct 2026
Updated 20 Oct 2026
Does this affect my version?
Check your installed version against this advisory. This compares the report’s version ranges and does not scan your website.
BugShield advisory
highBugShield Scout discovered missing verification attempt limits in the email one-time password (OTP) login feature of Link Invoice Payment for WooCommerce 2.13.2. When email OTP is enabled, unauthenticated visitors can access the OTP sending and verification REST routes. The six-digit code remains valid for the configured period of 1 to 60 minutes, and the affected verification function does not count or limit failed guesses. A successful guess authenticates the visitor as the account associated with the email address. This can allow account takeover, including an administrator account where the configured login mode permits it. The routes reject requests when email OTP is disabled. The affected code is in Includes/WcPaymentInvoiceOtpEmail.php. BugShield privately reported the issue to Link Nacional on 19 October 2026. The developer confirmed the report and stated that a fix first shipped in 2.13.3. That release was not available for independent source inspection. BugShield reviewed the publicly available 2.14.0 source, which contains a five-attempt limit per code, code invalidation and a 15-minute email lockout after the fifth failed attempt, single-use codes, replacement of the previous code on resend, HMAC-hashed code storage and hash_equals() comparison. It also adds a 60-second resend delay, sending limits of 10 per email and 20 per IP per hour, and a limit of 30 verification failures per IP per 15 minutes. The 2.14.0 changelog records the OTP security fix. The developer reports 57 passing integration tests; BugShield has reviewed the released source but has not independently repeated those tests or a functional exploit retest. The confirmed affected version is 2.13.2; earlier versions were not assessed for this advisory. High is BugShield's qualitative severity assessment; no CVE or numerical CVSS score is assigned.
Discovered by BugShield Scout. Published by BugShield.
Link Invoice Payment for WooCommerce
- Software
- plugin · invoice-payment-for-woocommerce
- Affected versions
- From 2.13.2, through 2.13.2
- Fix availability
- Fix available
- Fixed versions
- 2.13.3, 2.14.0
Recommended action
Back up your website and update Link Invoice Payment for WooCommerce to 2.14.0 or a later release. The developer reports the initial fix in 2.13.3; BugShield inspected the publicly available 2.14.0 source. If an immediate update is not possible, disable the email OTP login feature until the update is complete. Check the intended login flow after updating.
Further references (2)
Source: BugShield
Need help fixing this issue?
Get help checking your site, applying an available update and resolving any problems after updating.
Get help with this issueQuestions about this vulnerability
Which versions of Link Invoice Payment for WooCommerce are affected?
BugShield lists these affected versions: From 2.13.2, through 2.13.2. Use the version checker above to compare your installed release with this report.
Is a fix available for Link Invoice Payment for WooCommerce?
BugShield reports a fix for this issue in Link Invoice Payment for WooCommerce. It lists these fixed versions: 2.13.3, 2.14.0. Back up your website and test the recommended update before applying it to your live site.
Where can I find my installed plugin version?
In WordPress, open Plugins > Installed Plugins and find the version shown beneath the plugin name.
Does an affected version mean my website has been hacked?
An affected version means the installed release matches a vulnerability described in this report. It does not show whether anyone has exploited it on your website. The checker compares version numbers with stored reports; it does not inspect your website.
Other reports for the same product
These reports cover at least one of the same plugins, themes or WordPress core. Check each report’s affected versions separately.