DoLogin Security <= 4.3 - Unauthenticated Authentication Bypass via Insufficient Randomness via 'dologin' Parameter Weak PRNG Token
Strategic Overview
- Status
- Patched in 4.4
- Affected Plugin
- DoLogin Security
- Affected Version
<= 4.3- CVSS
- 8.8High
- Weakness type
- CWE-338 · Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
- CVE
CVE-2026-14495
At a glance
CVE-2026-14495 is a high-severity Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG) vulnerability in the DoLogin Security WordPress plugin, affecting versions <= 4.3. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 4.4; sites on affected versions should update now. Disclosed July 2026, reported by samuel pages chartier.
Vulnerability Overview
The DoLogin Security plugin for WordPress is vulnerable to Authentication Bypass via Insufficient Randomness in all versions up to, and including, 4.3. The vulnerability exists because `dologin\s::rrand()` seeds the Mersenne Twister with `mt_srand((double) microtime() * 1000000)` — discarding the integer-seconds component of `microtime()` and constraining the seed to a range of approximately 10^6 values (~20 bits of entropy) — after which every character of the 32-character magic-link token is drawn sequentially with `mt_rand()`, making the entire token a deterministic function of that seed. Because `Pswdless::try_login()` is registered on the unauthenticated `init` hook, resolves the target account by the auto-increment numeric ID embedded in the `?dologin=<id>.<hash>` parameter, performs the hash comparison using a non-constant-time `!=` operator, and then calls `wp_set_auth_cookie()` directly — never passing through `wp_authenticate()` and therefore never triggering the plugin's own `Auth::_has_login_err()` lockout — an unauthenticated attacker can brute-force the ~10^6-candidate seed space to reconstruct an active passwordless login token and authenticate as any targeted user, including administrators, without a password. Exploitation requires that a valid, unexpired passwordless login link (active for up to 7 days) exists for the target account at the time of the attack, and that the numeric link ID is known or guessable from the auto-increment primary key.
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 interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.
Remediation
Update to version 4.4, or a newer patched version
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. None of that substitutes for the fix: DoLogin Security 4.4 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in DoLogin Security
- 7.2CVE-2023-4549: DoLogin Security <= 3.6 Stored Cross-Site Scripting
CVE-2023-4549 - 6.5CVE-2023-46608: DoLogin Security <= 3.7.1 Missing Authorization
CVE-2023-46608 - 5.3CVE-2023-4631: DoLogin Security <= 3.6 IP Address Spoofing
CVE-2023-4631 - 4.3CVE-2023-4800: DoLogin Security Missing Authorization on Dashboard
CVE-2023-4800
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C